어드레서블 에셋과 에셋 번들의 공통점은 에셋을 불러오는 작업을 주소를 통한 참조로 한다. 기존의 에셋 번들보다 더 편리하게 에셋을 관리할 수 있도록 한 것이다. 어드레서블 에셋은, 에셋에 직접 주소가 있으며, 에셋의 위치는 참조에 무관하다.

또한 커스텀 에디터로 기능을 구현하지 않고, 기본 패키지 Addressables을 통해 어드레서블 에셋 기능을 사용할 수 있다.

어드레서블 에셋 사용 방법

  1. Addressables 패키지를 설치한다.
  2. 에셋을 선택하면, 토글 형식의 Addressable이 생기는데, 이를 활성화 해준다. 에셋의 주소는 변경할 수 있다.
  3. Window → Asset Management → Addressables → Groups으로 이동해서 어드레서블 에셋의 그룹과 레이블을 지정해 줄 수 있다.

어드레서블 에셋 불러오는 방법

using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public class AddressableAssetLoad : MonoBehaviour
{
    private AsyncOperationHandle<GameObject> handle;
    
    private void Start()
    {
        handle = Addressables.LoadAssetAsync<GameObject>("Test_Object");

        if(handle.Status != AsyncOperationStatus.Failed) { handle.Completed += Duplicate; }
    }
    private void Duplicate(AsyncOperationHandle<GameObject> handle)
    {
        Instantiate(handle.Result);
        
        Addressables.Release(handle);
    }
}
//실행 결과 : Test_Object 주소를 가진 프리팹이 하나 생성되었다.

IResourceLocation

위에 소개했던 방법 이외에도, 어드레서블 에셋을 주소, 레이블, AssetReference 등을 이용해서 사용할 수도 있다.

불러오는 작업이 비동기라는 것을 명심해서, 고생할 일이 없었으면 한다.