관련 용어 :

Catalog : 어드레서블 에셋을 받기 위한 리스트가 기록된 파일 (기본적으로 Catalog라 하면 Remote에 쓰이는 Catalog를 의미한다.

Local: 빌트인(인앱)

Remote: CDN에서 받을 업데이트 에셋들

Group: 어드레서블들이 묶이는 단위중 하나 현재의 다운로드받는 번들 단위로 이해하면 쉽다.

Label: 해당 어드레서블들이 묶이는 단위중 하나 해당부분은 컨텐츠 별로 분류해서 Remote에서 다운로드 할때 파라미터로 넣어서 해당 엮여있는 컨텐츠를 받을수 있도록 도움을 준다. (ex: 특정 추가된 컨텐츠에 관련된 프리팹들을 다운로드하기 위해서 해당 컨텐츠의 고유값을 만들어 서버로 해당 고유값을 파라미터로 넘겨 프리팹을 다운로드받을때 하지만 각각 그룹이 UI / Model 그룹일때 해당 그룹들을 모두 받게함 ) 해당부분을 잘나눈다면 각 컨텐츠 별로 받아야할 번들을 나눌수 있을 뿐더러, 시작시 모든 에셋을 굳이 다 안받고 특정 컨텐츠에 진입할시 체크해서 그때 받을수 있게 할수 있음.

모든 API들은 비동기로 이루어지므로 IEnumrator를 리턴하며 코루틴을 사용할수 있다.

(하지만 기존처럼 비동기를 사용하지 않고 동기적으로 쓰고 싶다면 반환되는 Handle의 Wait

→ CheckForCatalogUpdates: Catalog의 Hash값을 체크하는 API

→ UpdateCatalogs: Catalog를 로컬에 다운로드함.

이후 과정은 유니티 어드레서블 시스템이 기록을 하고 설정을 해둔다.

이후 다운로드 받을게 있다면

해당 API는 모바일게임에서 유저들에게 다운로드받는 용량의 사이즈를 고지해야하는 이유가 있기때문에 사용된다.