어드레서블 에셋 언로드
어드레서블 시스템은 레퍼런스 카운팅을 사용하여 에셋이 사용 중인지 여부를 확인합니다. 즉, 로드하거나 인스턴스화한 모든 에셋은 작업이 끝나면 해제해야 합니다. 자세한 내용은 메모리 관리를 참조하십시오.
씬을 언로드하면 해당 씬이 속한 에셋 번들이 언로드됩니다. 이렇게 하면 원래 씬에서 다른 씬으로 이동한 모든 게임 오브젝트를 포함하여 씬과 연관된 에셋이 언로드됩니다.
Unity는 씬을 로드할 때 LoadSceneMode.Single
모드를 사용하여 UnloadUnusedAssets
를 자동으로 호출합니다. 씬과 해당 에셋이 언로드되지 않도록 하려면 씬을 수동으로 언로드할 때까지 씬 로드 작업 핸들에 대한 레퍼런스를 유지하십시오. 로드 작업 핸들에서 ResourceManager.Acquire
를 사용하면 됩니다.
[!중요]
Object.DontDestroyOnLoad
또는HideFlags.DontUnloadUnusedAsset
과 같이 에셋을 보존하는 기존의 방법은 작동하지 않습니다.
씬에서 별도로 로드하는 개별 어드레서블과 그 작업 핸들은 해제되지 않습니다. 이러한 에셋을 해제하려면 Resources.UnloadUnusedAssets
또는 UnloadAsset
을 호출해야 합니다. 예외적으로 trackHandle
이 true(기본값)로 설정된 상태에서 Addressables.InstantiateAsync
를 사용하여 인스턴스화한 모든 어드레서블 에셋은 자동으로 해제됩니다.