You have three requirements here:
- Sectors can be unloaded
- Time-based interactions keep running everywhere
- Interactions are executed locally within each sector
You may satisfy any two, but not all three:
- If sectors can be unloaded and their interactions keep running, then those interactions must be executed elsewhere, outside of the sector itself.
- If interactions run locally in each sector and must keep running, then you can't unload any sectors with time-based scripts running.
- If interactions run locally and you unload sectors, then time-based interactions will sometimes stop running for unloaded sectors.
So, what compromises can we choose?
You could write an editor pre-processor script that, on run/build, scans all of your scenes and logs any time-based scripts in each, using this to build a data model that can execute time-based interactions in a GameObject that's never unloaded. It can communicate with objects that are currently loaded or when they load in, synchronizing them to the state of this global model. That lets you keep the convenience of authoring your interactions locally in each sector, while it can still execute globally even when sectors are unloaded.
Or, depending on the nature of your events, you might be able to save a timestamp when a given sector was last unloaded and, when it's next loaded, have all its scripts read the elapsed time and fast-forward their state, retroactively accounting for everything that "happened off-screen." This fast-forwarding can become complicated though, and won't allow you to handle interactions or propagation between sectors, or events that need to raise some signal the moment they occur.