Addressables 를 알아보기 위해선 Asset Bundle 에 대해 간단히 알아보면 좋겠습니다.
개발자가 Asset 을 서버 묶어 올려두고, 플레이어는 런타임에 이를 받아와 실행할 수 있습니다.
(유니티 코리아 개발자님의 영상을 참고했습니다. https://www.youtube.com/watch?v=3f2XjEGDZ2s )
자세한 건 아래를 참고해주시길 바랍니다.
https://unity.com/kr/blog/engine-platform/addressables-planning-and-best-practices
Addressables: 계획 및 베스트 프랙티스
이 블로그 게시글에서는 유니티 시니어 테크니컬 프로덕트 매니저 제프 리센미가 프로젝트에서 Addressables 시스템을 최대한 활용하기 위해 개발자가 가장 중요하게 고려해야 할 사항에 대해 소
unity.com
Asset Bundle
Asset Bundle 은 DLC 용이나 패치용으로 사용하기 좋으며,
초기 인스톨 사이즈를 줄이는데 효과가 있기 때문에, 모바일 환경에서는 필수적입니다.
아래 클래스처럼 Asset 을 레퍼런스하는 목록들이 많아질수록, Scene 에 메모리 부담이 커질 수 있습니다.
public GameObject zombiePrefab;
void Start()
{
if (zombiePrefab != null)
GameObject.Instantiate(zombiePrefab, this.transform, false);
}
그렇기 때문에, 개발이 어느정도 진행된 상황이라면 Resources 폴더로 옮기게 됩니다.
public string zombieName;
IEnumerator Start()
{
var req = Resources.LoadAsync(zombieName);
yield return req;
if (req.asset != null)
GameObject.Instantiate(req.asset, this.transform, false);
}
Resources 폴더, 간편하게 이름으로 불러올 수 있는 유용한 기능 입니다.
하지만, Resources 폴더는 간편하지만, 빌드 시간도 늘어나거나 에셋 관리도 힘들어진다는 단점이 있습니다.
그렇기에 개발 초기에는 위와 같이 사용하다, 아래와 같이 에셋번들을 이용하는 방식으로 바꾸게됩니다.


죄측은 로컬, 우측은 서버에서 가져와 디스크에 저장한 뒤 로드하게 됩니다만...
Dependency 처리가 되지 않았기에, 위 처럼 사용하시면 안됩니다.
※ 에셋들은 Dependency 로 묶여있습니다, 매터리얼이 오브젝트를 참조하거나 텍스쳐를 사용하거나... 등 에셋들 끼리 의존성을 갖는 것들을 의미합니다.
그래서, Dependency 를 체크하고 로드하기 위해선, 아래처럼 작성해야 합니다.

위 처럼 코드가 무진장 길어지게 됩니다.
그래서 저흰, 이런 Asset Bundle 을 대체할 수 있는 Addressables 을 사용할 수 있습니다.
Addressables
마치 Asset 을 Address (주소)로 필요할 때 로드하고 반환하는 것 처럼,
에셋 관리를 쉽게하도록 만든 시스템입니다.
아래 포스트에 Addressable 를 정리해 두었습니다.
https://bulletprooves.tistory.com/77
[Unity] Addressable #1 (Local)
Asset Bundle / Addressable 을 이용하면, 게임 로딩할 때 추가 파일 다운로드를 구현할 수 있습니다.https://www.youtube.com/watch?v=Z84GCeod_BM 더블엘님의 Addressable 영상을 참고했습니다. Addressable System overviewAddr
bulletprooves.tistory.com
Addressable 은 빌드 크기 최소화나, 의존성 관리나 메모리 절약 차원에서 이점이 많기 때문에,
에셋 관리를 위해서 프로젝트에 참고해보도록 합시당!
그럼 좋은 하루 되세용~ ‧˚₊*̥(っ˶ᵔөᵔ˶ )っ
'- Unity > let us all UNITE !' 카테고리의 다른 글
| [Unity] NGUI (0) | 2025.07.02 |
|---|---|
| [Unity] (0) | 2025.06.21 |
| [Unity] Addressable #1 (Local) (0) | 2025.06.19 |
| [Unity] Getting started with UniRX ( Observer Pattern ) (1) | 2025.05.22 |
| [Unity] Awake OnEnable Start (0) | 2025.05.17 |