높은 수준의 관점에서 플레이 모드 시작은 다음의 주요 단계로 구성됩니다.
도메인 재로드와 씬 재로드를 같이 수행하면 스크립팅 도메인을 초기화하고, 플레이어에서 실행하는 것처럼 애플리케이션의 시작 동작을 시뮬레이션합니다. 프로젝트 설정에서 이 설정을 비활성화하면 Unity가 이러한 단계를 건너뜁니다.
아래 다이어그램은 도메인 재로드와 씬 재로드가 비활성화되면 Unity가 건너뛰는 이벤트에 대한 상세한 정보를 제공합니다. 노란색은 도메인 재로드가 비활성화되면 Unity가 건너뛰는 이벤트이고, 분홍색은 씬 재로드가 비활성화되면 Unity가 건너뛰는 이벤트입니다.
씬 재로드와 도메인 재로드를 활성화한 경우 플레이 모드 시작 시 Unity는 다음과 같은 프로세스와 이벤트를 수행합니다.
beforeAssemblyReload
이벤트가 발생합니다.OnDisable()
이 모든 ScriptableObject와 MonoBehaviour에 대해 호출됩니다.OnBeforeSerialize()
가 호출됩니다.[NonSerialized]
로 표시된 값을 제외하고, 모든 퍼블릭 및 프라이빗 필드 값이 직렬화됩니다.AppDomain.DomainUnload
이벤트가 발생합니다.OnAfterDeserialize
이벤트가 발생합니다.OnValidate()
가 호출됩니다.[ExecuteInEditMode]
속성을 사용하는 스크립트의 경우 다음을 수행합니다.OnEnable()
이 호출됩니다.OnDisable()
이 호출됩니다.OnDestroy()
가 호출됩니다.afterAssemblyReload
가 호출됩니다.