[2025/07/29]TIL

오수호·2025년 7월 29일

TIL

목록 보기
51/60

어드레서블 공부하기

어드레서블을 공부하는 이유

오디오 매니저를 만들려고 하기때문이다!

오디오 매니저와 어드레서블이 무슨상관인가?

우리가 만들고 있는 게임 ManiMind는 게임내에서 다양한 효과음을 가진다. 이전까지는 소규모게임만 만들었기 때문에 오디오매니저에서 모든 사운드이펙트 클립을 가지고 있었어도 큰 상관이 없었지만, 게임의 규모가 커지다보니 모든 사운드이펙트 클립을 오디오매니저에 올려놓고 사용하게 되면 메모리를 차지하는 크기가 너무나 커지는 문제가 발생한다. 따라서, 런타임에서 필요한 사운드이펙트클립을 가져다 사용해야하는 것이다.
하지만, Resources폴더를 사용하는 것은 항상 메모리에 해당 자산이 올라와 있는 형태이므로 최적화로써의 의미는 별로없다.

따라서 오늘은 어드레서블에 대해서 공부해보았다.

어드레서블이란?

Addressables는 Unity에서 리소스를 주소 기반으로 관리하고 로드할 수 있는 시스템이다.
Resources 폴더 기반 방식의 단점을 극복하고, 빌드 최적화 / 메모리 관리 / DLC / 원격 에셋 로딩 등을 가능하게 한다.
내부적으로는 AssetBundle을 래핑(wrapping)하여 더 간단하게 사용할 수 있도록 한다.

Addressable Asset : 주소로 접근 가능한 에셋. 에디터에서 체크박스 하나로 Addressable로 지정 가능.
주소(Address) : 에셋을 고유하게 식별하는 문자열. 기본은 에셋 경로, 수동 변경 가능.
Group : Addressable 에셋을 논리적으로 묶는 단위. 빌드 설정, 번들 옵션 지정 가능.
Catalog : 어떤 에셋이 어떤 주소로 존재하는지에 대한 메타데이터 모음.
Profile : 로컬/원격 등 빌드 환경별 경로 관리에 사용.

어드레서블 사용방법

먼저 어드레서블은 유니티 패키지매니저를 통해서 설치해야 사용할 수 있다.


어드레서블을 설치하면, 다음부터 인스펙터창에서 어드레서블 그룹으로 만들 수 있는 버튼이 생긴다.

어드레서블 박스를 체크하면, 어드레서블 그룹화가 되고 어드레서블 기능을 사용할 수 있다.


Select버튼을 클릭하면 그룹과 에셋모음이 나오는 창을 볼 수 있다.

여기서 레이블을 추가해줄 수 도 있다.

레이블을 달아놓으면 그룹화를 할 때 편하게 진행 할 수 있다.


그룹을 추가하고 싶다면 New버튼을 누른 뒤 Blank를 선택해주면 새로운 그룹이 생긴다.


나는 사운드를 추가할 생각이니 BGM그룹을 추가하고, BGM그룹에 에셋을 추가해주었다.


가만보면 주소로 사용할 어드레서블의 이름이 Full path로 되어있어 굉장히 사용하기 귀찮아 보인다. 이를 단순화시킬 수 있다.

업로드중..

에셋을 우클릭 한 후 Simplify Addressable Names를 클릭하면 이름이 단순화된다.

업로드중..

만약, 단순화시킨 이름이 마음에 들지않는다면 Change Address를 통해서 어드레서블을 직접 정할 수 도 있다.


어떤 에셋을 어떻게 그룹화 시킬지에 대해서는 차차 생각해보면 될 것이고, 이제부터 어드레서블을 실제로 적용하는 방법에 대해서 알아보겠다.

어드레서블 실제사용

  1. 스크립트를 하나 만든다. 나의 경우엔 LoadAssetManager로 이름을 붙였다.

  2. 스크립트 최상단에 using UnityEngine.AddressaleAssets;과 using ResourceManagement.AsyncOperations;를 추가한다.

  3. 비동기 로딩 시 사용할 핸들을 선언한다.

  4. 비동기 로드 메서드를 추가한다.

사용예시

profile
게임개발자 취준생입니다

0개의 댓글