With Scene Reloading and Domain Reloading enabled, this is the full list of all processes and events that Unity performs when entering Play Mode:
beforeAssemblyReload event is raised.OnDisable() is called for all ScriptableObjects and MonoBehaviours.OnBeforeSerialize() is called.[NonSerialized].AppDomain.DomainUnload event is raised.OnAfterDeserialize event is raised.OnValidate() is called.[ExecuteInEditMode] attribute:OnEnable() is called.OnDisable() is called.OnDestroy() is called.afterAssemblyReload is called.