어드레서블 초기화
어드레서블 시스템은 어드레서블을 처음 로드하거나 어드레서블 API를 호출할 때 런타임에 자체적으로 초기화됩니다. 어드레서블을 더 일찍 초기화하려면 Addressables.InitializeAsync
를 호출하십시오. 초기화가 이미 발생한 경우 이 메서드는 아무 작업도 수행하지 않습니다.
초기화 작업
초기화 작업에서는 다음과 같은 작업을 수행합니다.
ResourceManager
및ResourceLocators
를 설정합니다.- StreamingAsset에서 어드레서블이 생성하는 설정 데이터를 로드합니다.
- 초기화 오브젝트 작업을 실행합니다.
- 콘텐츠 카탈로그를 로드합니다. 기본적으로 어드레서블은 먼저 콘텐츠 카탈로그의 업데이트를 확인하고 사용 가능한 경우 새 카탈로그를 다운로드합니다.
다음 어드레서블 설정으로 초기화 동작을 변경할 수 있습니다.
- Only update catalogs manually: 어드레서블이 업데이트된 카탈로그를 자동으로 확인하지 않습니다. 카탈로그 수동 업데이트에 대한 자세한 내용은 카탈로그 업데이트를 참조하십시오.
- Build Remote Catalog: 어드레서블이 원격 카탈로그 없이 원격 콘텐츠를 로드하려고 하지 않습니다.
- Custom certificate handler: 원격 에셋 호스팅 서비스에 액세스하기 위해 커스텀 인증서 핸들러가 필요한 경우 이를 식별합니다.
- Initialization object list: 초기화 작업 중에 어드레서블이 호출하는
IObjectInitializationDataProvider
스크립터블 오브젝트를 애플리케이션에 추가합니다.
초기화 작업이 시작되기 전에 다음 런타임 프로퍼티를 설정합니다.
- Custom URL transform function
- ResourceManager exception handler.
- 프로파일 변수의 모든 커스텀 런타임 플레이스홀더에 사용되는 정적 프로퍼티
초기화 오브젝트
어드레서블 에셋 설정에 오브젝트를 연결하여 런타임에 초기화 프로세스에 전달할 수 있습니다. 예를 들어 CacheInitializationSettings
오브젝트를 생성하여 Unity의 Cache
설정을 런타임에 초기화할 수 있습니다.
고유한 유형의 초기화 오브젝트를 생성하려면 IObjectInitializationDataProvider
인터페이스를 구현하는 스크립터블 오브젝트를 생성합니다. 이 오브젝트를 사용하여 어드레서블이 런타임 데이터와 함께 포함하는 ObjectInitializationData
에셋을 생성할 수 있습니다.
캐시 초기화 오브젝트
CacheInitializationSettings
오브젝트를 사용하여 Unity의 Cache
설정을 런타임에 초기화할 수 있습니다.
어드레서블 시스템이 사용하는 캐시 초기화 설정을 지정하려면 다음 단계를 따르십시오.
CacheInitializationSettings 에셋을 생성합니다(메뉴: Assets > Addressables > Initialization > Cache Initialization Settings).
프로젝트 패널에서 새 에셋 파일을 선택하여 인스펙터에서 설정을 확인합니다.
설정을 원하는 대로 조정합니다.
어드레서블 설정 인스펙터(메뉴: Window > Asset Management > Addressables > Settings)를 엽니다.
인스펙터의 Initialization Objects 섹션에서 + 버튼을 클릭하여 목록에 새 오브젝트를 추가합니다.
File 다이얼로그에서 CacheInitializationSettings 에셋을 선택하고 Open 을 클릭합니다.
캐시 설정 오브젝트가 목록에 추가됩니다.
런타임에 어드레서블이 초기화되면 이 설정이 기본 Unity Cache
에 적용됩니다. 이 설정은 어드레서블 시스템에서 다운로드한 에셋 번들뿐만 아니라 기본 캐시에 있는 모든 에셋 번들에 적용됩니다. Unity 캐시 시스템에 대한 자세한 내용은 캐싱을 참조하십시오.
[!팁] Unity 2020.1 이전 버전으로 빌드되었거나 Android 9 이전 버전에서 실행되는 Android 애플리케이션은 압축되지 않은 에셋 번들의 동영상만 재생할 수 있습니다. 캐시 재압축을 비활성화하려면
CacheInitializationSettings
오브젝트에서 Compress Bundles 옵션을 비활성화하여 사용하십시오.