再生モードに入るには、主に次のような段階を経る必要があります。
Reload Domain と Reload Scene を組み合わせたタスクは、スクリプティングドメインをリセットし、プレイヤーで実行されるようなアプリケーションの起動動作をシミュレートします。Project Settings でこれらを無効にすると、Unity はこれらのステップをスキップします。
The diagram below provides detailed information about the exact events which Unity skips when Domain Reload and Scene Reload are disabled. Yellow indicates the events Unity skips when Domain Reload is disabled, and pink indicates the events Unity skips when Scene Reload is disabled.
以下は、Enter Play Mode で Reload Scene と Reload Domain が有効な場合に、Unity が行う処理とイベントすべてのリストです。
beforeAssemblyReload
イベントが発生します。OnDisable()
がすべての ScriptableObjects と MonoBehaviours に対して呼び出されます。OnBeforeSerialize()
が呼び出されます。[NonSerialized]
でマークされたもの以外はすべてシリアライズされます。AppDomain.DomainUnload
イベントが発生します。OnAfterDeserialize
イベントが発生します。OnValidate()
が呼び出されます。[ExecuteInEditMode]
属性を使うスクリプトに対してOnEnable()
が呼び出されます。
2. OnDisable()
が呼び出されます。OnDestroy()
が呼び出されます。afterAssemblyReload
が呼び出されます。