再生モードに入るには、主に次のような段階を経る必要があります。
Reload Domain と Reload Scene を組み合わせたタスクは、スクリプティングドメインをリセットし、プレイヤーで実行されるようなアプリケーションの起動動作をシミュレートします。Project Settings でこれらを無効にすると、Unity はこれらのステップをスキップします。
下の図は、Reload Domain と Reload Scene が無効の場合に、Unity がスキップするイベントについての詳細情報を示しています。青色は Reload Domain が無効のときに Unity がスキップするイベント、緑色は Reload Scene が無効のときに Unity がスキップするイベントを示しています。
以下は、Enter Play Mode で Reload Scene と Reload Domain が有効な場合に、Unity が行う処理とイベントすべてのリストです。
beforeAssemblyReload
イベントが発生します。OnDisable()
がすべての ScriptableObjects と MonoBehaviours に対して呼び出されます。OnBeforeSerialize()
が呼び出されます。[NonSerialized]
でマークされたもの以外はすべてシリアライズされます。AppDomain.DomainUnload
イベントが発生します。OnAfterDeserialize
イベントが発生します。OnValidate()
が呼び出されます。[ExecuteInEditMode]
属性を使うスクリプトに対してOnEnable()
が呼び出されます。
2. OnDisable()
が呼び出されます。OnDestroy()
が呼び出されます。afterAssemblyReload
が呼び出されます。