Version: Unity 6.0 (6000.0)
언어 : 한국어
도메인 재로드
도메인 및 씬 리로드 비활성화에 대한 세부 정보

씬 리로드

씬 리로드는 기본적으로 활성화되어 있습니다. 따라서 플레이 모드를 시작하면 Unity는 기존의 모든 씬 게임 오브젝트를 삭제하고 디스크에서 씬을 다시 로드합니다. Unity가 이 작업을 완료하는 데 걸리는 시간은 씬의 복잡도에 비례합니다. 프로젝트가 복잡해지면 플레이 버튼을 누른 후 에디터에서 씬에 완전히 로드될 때까지 걸리는 시간이 길어집니다.

씬 리로드를 비활성화하면 프로세스 시간이 단축됩니다. 이를 통해 프로젝트 개발을 더 빠르게 반복할 수 있습니다. Unity는 디스크에서 씬을 다시 로드하는 대신 씬의 수정된 콘텐츠만 재설정합니다. 이렇게 하면 씬의 언로드 및 리로드로 인한 시간 및 성능 영향을 피할 수 있습니다. Unity는 새로 로드된 것처럼 동일한 초기화 함수(예: OnEnable, OnDisable, OnDestroy)를 호출합니다.

씬 리로드 비활성화

씬 리로드를 비활성화하면 에디터에서 애플리케이션을 시작하는 데 걸리는 시간이 빌드된 버전의 시작 시간과 더 이상 일치하지 않게 됩니다. 따라서 프로젝트를 시작하는 동안 정확히 어떤 일이 발생하는지 디버깅하거나 프로파일링하려면 씬 리로드를 활성화하여 애플리케이션의 빌드된 버전에서 발생하는 실제 로드 시간과 프로세스를 더 정확하게 나타내야 합니다.

자세한 내용은 플레이 모드 설정 방법을 참조하십시오.

씬 리로드를 비활성화하려면 다음 단계를 따르십시오.

  1. Edit > Project Settings로 이동하여 Project Settings 창을 엽니다.
  2. Editor 탭을 클릭합니다.
  3. Enter Play Mode Settings 섹션의 When entering play mode 드롭다운 메뉴에서 다음 중 하나를 선택합니다.
    • 씬 리로드를 비활성화하고 도메인 리로드를 활성화하려면 Reload Domain only를 선택합니다.
    • 도메인 리로드와 씬 리로드를 모두 비활성화하려면 Do not reload Domain or Scene을 선택합니다.

씬 리로드를 건너뛸 경우 미치는 영향

씬 리로드를 비활성화하면 프로젝트에 대한 부작용이 최소화됩니다. 하지만 씬 리로드는 도메인 리로드와 긴밀하게 연결되어 있으므로 다음과 같은 몇 가지 중요한 차이가 나타납니다.

  1. 직렬화되지 않은 ScriptableObject 및 MonoBehaviour 필드는 편집 모드로 돌아갈 때 재생 모드 중에 할당된 값을 유지합니다. 이는 Unity가 기존 오브젝트나 호출 생성자를 재생성하지 않기 때문입니다. 다양한 컨텍스트에서 직렬화되어 있거나 직렬화되어 있지 않은 요소를 이해하려면 Unity가 직렬화를 사용하는 방법을 참조하십시오. 비공개 필드는 일반 빌드 파이프라인의 일환으로 직렬화되지 않고 에디터의 스크립트 핫 리로드의 일환으로 직렬화된다는 점에 유의하십시오. 따라서 플레이 모드에서 수정하는 프라이빗 필드는 씬과 도메인 리로드가 플레이 모드 시작 시 비활성화된 경우에도 플레이 모드를 종료할 때 원래 값으로 초기화될 수 있습니다.

  2. Unity는 도메인 리로드 중에 배열/목록 유형의 null 비공개 필드와 내부 필드를 빈 배열/목록 오브젝트로 전환하며, 런타임(비에디터) 스크립트에서는 null이 아닙니다.

  3. ExecuteInEditMode를 사용하는 스크립트나 ExecuteAlways 스크립트는 OnDestroy 또는 Awake 호출을 수신하지 않습니다. Unity는 Awake를 호출하지 않으며, EditorApplication.isPlaying 프로퍼티를 확인하는 Awake/OnEnable 메서드를 사용하여 플레이 모드 변경 시 EditorApplication.isPlaying이 이미 true인 경우에만 OnEnable을 호출합니다. 런타임(비에디터) 스크립트에 직렬화되지 않은 필드는 편집 모드에서 활성화되지 않기 때문에 문제가 되지 않지만, ExecuteInEditMode 또는 ExecuteAlways로 표시된 스크립트는 스스로 변경하거나 다른 런타임 스크립트의 필드에 접근할 수 있습니다. 이 문제를 해결하려면 OnEnable 콜백에서 영향을 받는 필드를 직접 초기화하십시오.

추가 리소스

도메인 재로드
도메인 및 씬 리로드 비활성화에 대한 세부 정보
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961