From a high-level perspective, entering Play mode consists of the following main stages:
Backup current scenes. This only happens when the Scene has been modified. Allows Unity to revert the Scenes when exiting Play mode to the state they were in before Play mode started.
Scene reload. Resets the Scene state, by reloading the Scene.
Update scene. This happens twice; once without rendering, and once with rendering.
The combined tasks of domain reload and scene reload reset the scripting domain and simulate the startup behavior of your application as it would run in the Player. The following diagram provides detailed information about the exact steps Unity performs during scene and domain reload, and which steps it skips when they’re turned off. Blue indicates the events Unity skips when domain reload is off (which it is by default), and green indicates the events Unity skips when scene reload is off.
Event functions in the MonoBehaviour script lifecycle. Event functions skipped when domain reload is off are highlighted blue. Event functions skipped when scene reload is off are highlighted green.