Unity Addressable Asset
Addressable Asset 이란 주소가 있는 Asset(3D 모델 파일, 이미지 텍스쳐, 오디오, 비디오)으로 유니티에서 Runtime에 주소라는 고유의 식별자로 Asset에 접근하여 로드 및 사용할 수있는 Asset을 말한다.
Addressable Asset을 사용하는 이유?
장점
- Resource 폴더의 로드방식보다 초기 Apk의 용량이 작다.
- 별도의 추가 Build없이 Asset을 서버로부터 업데이트가 가능하다.
- 사용하지 않는 Asset의 경우에 Unload를 통해 효율적인 메모리 관리가 가능하다.
- DLC 방식에 적합하다(Downloadable Content)의 약어. (확장팩, 추가 캐릭터, 새로운 스토리 등)
단점
- 초기 설정 방식이 어렵다. (기존 Resource.Load 방식) -> 이방식에서는 Resource.Load를 하게되면 별도의 초기설정없이 Resource 폴더에있는 Asset을 로드할 수있다.
- 런타임 성능 비용 증가 (최초) 에셋을 처음 로드할 때 Latency가 발생할 수있다.
- 작은 프로젝트나 단일 실행 환경에서 비용대비 성능이 떨어질 수있음.
- 디버깅 난이도 높다. 에셋이 로드되거나 실패하는 원인을 추척하기 어려운 경우가 있다.
위와 같은 장단점을 보았을 때 단점은 관리상의 비용(초기 설정, 디버깅, 런타임의 약간의 오버헤드)가 있고, Addressable을 사용하게되면 다양한 플랫폼, 대규모 프로젝트의 빈번한 패치, 에셋 업데이트 과 같은 경우에 유연하게 대응할 수있어 콘텐츠 관리 효율성이 높기 때문이다.
Addressable의 Profile을 설정할 수있고, Build시에 생성되는 실제
위 Remote Load Path를 설정하게되면 기존 Addresable Asset을 등록한 뒤 Addressable Build를 한 후 원본 파일 을 삭제하면 생성된 AssetBundle을 통해서 Asset을 로드할 수있다. 이로인해 현재 프로젝트에 없는 Asset 또한 로드 및 언로드가 가능하다.
다음 시간에는 Addressable Asset을 웹 서버 또는 클라우드를 통해 내려받는 것을 알아보고자 한다.
'Unity' 카테고리의 다른 글
Unity Addressable Asset (3) (3) | 2024.12.29 |
---|---|
Unity Addressable Asset (2) (1) | 2024.12.27 |
Unity Lighting (2) (4) | 2024.12.03 |
Unity Lighting (2) | 2024.11.28 |
Unity_Localization (3) | 2024.08.26 |