The main reason I ask this is, that OnEnable and OnDisable seem to be perfect to toggle things on and off, right? Like Event-Subscriptions. Subscribe in OnEnable and Unsubscribe in OnDisable, nice. In my case, that leads to a problem, because I execute code in the add section of one of those property events. Unfortunately, the Object it’s operating on is not yet referenced, because Awake on the other Object has not been called. at that time. I recognised, that I get an alternating chain of Awake and OnEnable if I debug.Log those calls.
Since the Constructor is ran by Unity, why is there not one method that runs on all GameObjects first. This way everything else would be bulletproof.
Same goes for OnDisable. I CAN’T Unsubscribe from events here, because the object I was subscribed to might not exist anymore. OnDisable and OnDestroy are also alternating their calls… How am I supposed to use toggling a script on and off with that?