유니티를 사용해서 개발을 하다보면 에셋을 유니티에서 사용하는 방식을 3가지 정도로 구분할 수 있다.
빠르게 프로토타입 버전을 만들어보고 테스트 하기위해 프리팹이나 에셋들을 직접 인스펙터창에 드래그하여 직접 참조하는 방식. 쉽고 빠르지만 수정이 귀찮다.
Resources
폴더에 에셋을 넣고 동적으로 에셋을 로드한다. 쉽고 편리하지만 단점이 많아 조금은 경계해야한다. 모범 사례는 가급적 사용을 제한하는 것이다.
단점
에셋을 묶음 단위로 관리할 수 있는 자유도를 부여한다. 빌드 사이즈를 절감하고 앱 시작 시간을 단축시킬 수 있다. 그러나 에셋 번들도 단점이 있으니 에셋 번들 종속성(dependency), 버전 등 관리가 필요하고 모든 것이 코드로 되어있어(빌드, 로드 등) 귀찮고 복잡한 작업들이 많다. 특히 메모리 관련 문제도 많이 발생한다.
또한 개발 방식을 변경할 때마다 코드를 변경해야한다.
어드레서블 에셋은 주소(Address)가 할당된 에셋이다. 이 주소(Address)를 사용해서 에셋 위치에 상관없이 참조가 가능하다.
Addressable 에셋 시스템은 기존의 에셋 번들의 단점을 보완할 수 있도록 새로 개발된 시스템이다. 한마디로 리소스 폴더의 장점 + 에셋 번들의 장점 + 개발 편의성 을 고려해서 만들어진 시스템이다.
주소(Address)를 이용한 에셋의 관리, 로딩, 빌드가 통합된 시스템으로 Addressable Asset + 리소스 매니저 + 스크립터블 빌드 파이프라인을 패키지 매니저로 제공한다.
1. 에셋 빌드와 배포의 단순화
직접 레퍼런스, 리소스 폴더, 에셋번들 분리가 단순화되고 편리해졌다.
2. 효율적인 에셋 관리
종속성 파악 및 메모리 로드/언로드 현황을 쉽게 확인하고 관리할 수 있게되었다.
3. 개발 시간 단축
개발 상황에 따른 코드 변화가 없다.
Window > Package Manager 에서 Addressables 를 검색하거나 찾아서 설치한다.