본문 바로가기

메모장/Unity

[Unity Assetbundle] 에셋 번들이란?

1. 에셋 번들이란?

에셋 번들은 말 그대로 에셋을 하나로 묶어 놓은 것입니다. 유니티의 에셋들을 묶어 하나로 관리하는 것이죠.

에셋은 프리펩, 사운드, 텍스트, 이미지, 폴더 등 유니티 내부에서 사용하는 모든 자원들을 칭합니다.

 

2. 에셋 번들의 흐름

외부 스토리지에 에셋번들 로드

개발자는 에셋들을 묶어 에셋 번들로 만든 뒤 FTP클라이언트를 사용하여 외부에 있는 스토리지에 에셋 번들을 로드하고 저장합니다.

런타임에서 외부 스토리지에 있는 에셋번들을 로드하여 필요한 에셋을 사용

런타임시 유니티 씬의 스크립트를 통해 외부 스토리지에 로드한 에셋번들을 다운로드 합니다.

그리고 서버로부터 로드한 에셋번들에서, 각각의 에셋을 로드하여 사용합니다.

 

3. 에셋 번들을 사용하는 이유

에셋 번들을 사용하지 않아도 유니티 프로그램은 정상적으로 작동 합니다.

그렇다면 왜 에셋 번들을 사용하는 걸까요?

1. 업데이트가 용이하다.

유니티 게임을 빌드하게 되면 실행파일과 내부의 에셋들은 고유한 압축 포멧으로 압축되어 다시 빌드하지 않으면 수정할 수가 없습니다.

하지만 에셋번들을 사용한다면, 에셋번들에 포함된 컨텐츠를 업데이트 할 경우에는 해당 번들만 다시 만들어 주면 되니 빌드 시간이 절약되고, 스토어에 앱들 업데이트 하는 번거로움도 사라집니다.

2. 용량이 줄어든다.

에셋 번들을 사용하면 프로그램에서 사용할 에셋들을 빌드하지 않고 외부 스토리지에 로드해 놨다가, 런타임시 다운로드를 받기 때문에 프로그램의 용량이 그만큼 줄어들게 됩니다.

모바일 앱들은 스토어 업로드 용량 제한등으로 인해 용량에 민감하기 때문에 에셋번들을 사용하여 앱의 용량을 줄이고 앱을 실행 할 때 다운로드 받는 형식을 사용합니다.

 

 

 

유니티 튜토리얼에 자세한 내용이 올라와 있네요.

더 자세한 내용을 원하시면 아래 링크를 따라가시길 바랍니다.

https://learn.unity.com/tutorial/assets-resources-and-assetbundles

 

Assets, Resources and AssetBundles - Unity Learn

This is a series of articles that provides an in-depth discussion of Assets and resource management in the Unity engine. It seeks to provide expert developers with deep, source-level knowledge of Unity's Asset and serialization systems. PLEASE NOTE: this t

learn.unity.com