Addressable 카탈로그

최보훈·2024년 7월 9일
0

MyOsotis

목록 보기
5/7

콘텐츠 카탈로그

어드레서블이 시스템에 제공된 키를 기반으로 에셋의 실제 위치를 조회하는데 사용되는 데이터 저장소.

어드레서블을 사용할 때 원격 카탈로그 를 사용하게 된다.

AddressaleAssetSettings의 인스펙터창에서 확인이 가능하다.

콘텐츠 업데이트 빌드 개요

어드레서블 시스템은 런타임에 *(초기화) 할 때 업데이트된 콘텐츠 카탈로그를 확인합니다. 업데이트된 콘텐츠 카탈로그가 있는 경우 시스템은 새 카탈로그를 다운로드하고 에셋을 로드할 때 모든 에셋 번들의 최신 버전을 다운로드합니다.

*(초기화) => Addressables.InitializeAsync()함수를 실행할때 Addressable세팅에 Only Update Catalogs Manually를 체크해제 했다면 카탈로그의 확인과 업데이트가 자동으로 진행된다.

프로젝트 활용내용

AddressableAssetSetting 의 인스팩터에 Only Update Catalogs Manually 라는 항목이 있다.

이걸 체크하게 된다면 Addressables.UpdateCatalogs()함수를 이용해 직접 업데이트를 해줘야 한다.
Addressables.CheckForCatalogUpdates(); 로 카탈로그 업데이트 내용이 있는지 체크를 할 수 있다.

IEnumerator UpdateCatalogs() //카탈로그가 변경점이 있는지 체크
{
    List<string> catalogsToUpdate = new List<string>();
    AsyncOperationHandle<List<string>> checkForUpdateHandle = Addressables.CheckForCatalogUpdates();
    checkForUpdateHandle.Completed += op =>
    {
        catalogsToUpdate.AddRange(op.Result);
    };
    yield return checkForUpdateHandle;
    if (catalogsToUpdate.Count > 0)
    {
        debug.text = catalogsToUpdate.Count.ToString();
       // StartCoroutine(UpdateCatalog());  
    }
}

catalogsToUpdate.Count의 수가 0 초과라면 업데이트 내용이 있다는 것이다.

 IEnumerator UpdateCatalog() // 카탈로그 업데이트 
 {
     AsyncOperationHandle updatehandle  = Addressables.UpdateCatalogs();
     yield return updatehandle;
 }

업데이트가 있다면 위와같이 UpdateCatalogs()를 사용해 업데이트를 직접 해준다.

0개의 댓글