Unity

TIL - Addressable 설계

우대비 2025. 4. 23. 09:30
반응형

개요

  • 기존의 Resource Manager가 Resources폴더가 아닌Addressable을 사용하는 형태로 변경됨
  • 게임 시작 시 필요한 데이터를 한번에 로딩 후 꺼내 쓰는 방식으로 활용 (로딩 창 필요)
  • Addressable은 비동기 형태로 데이터를 불러오게 되지만 미리 불러온 후에 사용하기 때문에 ResourceManager 사용 방법은 기존과 동일
  • 파일 관리 방법을 변경할 예정
    • Resources 폴더 완전 삭제
    • 동적으로 불러올 데이터 Addressable에 등록
    • 라벨로 구분하여 관리

사용 방법

1. Addressable Label로 데이터 등록

 

 

    int testCount = 0;
    public void Init() 
    {
        Managers.Resource.Addressables.InitializeAsync();

        LoadAllAsync<GameObject>("Test", (key, loadCount, totalCount) => {
            testCount++;
            Debug.Log($"{testCount} => {loadCount}/{totalCount} {key}");
        });
    }

2. LoadAllAsync를 통해서 인자로 보낸 Label의 데이터 모두 불러오기

 

 

3. 정상적으로 불러오는데 성공

4. 불러올때는 해당 키값을 통해 불러옴

 

사용 예시 코드

    public void Init() 
    {
        Addressables.InitializeAsync();

        Managers.Resource.LoadAllAsync<GameObject>("Test", (key, loadCount, totalCount) => {
            testCount++;
            Debug.Log($"{testCount} => {loadCount}/{totalCount} {key}");

            if (loadCount == totalCount)
                LoadSuccess();
        });
    }

    public void LoadSuccess()
    {
        GameObject go = Managers.Resource.Instantiate("Prefab/test/Capsule.prefab"); 
    }

 

 

정상적으로 생성됨

반응형
LIST

'Unity' 카테고리의 다른 글

TIL: Unity 인벤토리 시스템 구현  (2) 2025.05.01
퀘스트 시스템  (2) 2025.04.28
계층형 유한 상태 머신  (0) 2025.04.09
State Machine  (0) 2025.04.08
Unity Custom Editor - 윈도우 만들기  (0) 2025.04.06