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.