| 개요
기존 AssetBundle 시스템에서는 각 번들별로 지정된 Label을 기준으로 번들파일이 생성되었다.
[Addressable]은 [BundleMode] 설정을 통해 3가지 형태의 패킹 옵션을 제공한다.
(BundleMode를 어떻게 설정 하느냐에 따라 번들의 네이밍에도 영향을 준다.)
번들의 네이밍에 관한 옵션은 [Bundle Naming Mode]로 설정이 가능하다.
| 설정

에디터 상단 메뉴 > Windows > Asset Management > Addressables > Groups

Addressables Groups 윈도우에서 그룹 선택 > Inspector 윈도우
혹은
AddressableAssetsData/AssetGroups/{어셋그룹명}.asset 파일선택 > IInspector 윈도우

| Pack Together
그룹 전체가 하나의 번들로 패킹되는 방식
어셋그룹명_assets_all_해쉬값.bundle와 같은 형식으로 네이밍 된다.
예)
Addressable Asset Group: dungeon
Bundle Mode: Pack Together
Bundle Naming Mode: Append Hash to Filename
> dungeon_assets_all_5cc5b95cb94769ba209aa37dbb298c73.bundle
| Pack Seperately
그룹 내부의 어셋마다 개별 번들이 패킹되는 방식
개별 번들이 만들어지지만, 어셋 그룹의 설정은 공유한다.
어셋그룹명_assets_assets/어셋어드레스_해쉬값.bundle와 같은 형식으로 네이밍 된다.
예)
Addressable Asset Group: Scenes-DungeonBG
Bundle Mode: Pack Seperately
Bundle Naming Mode: Append Hash to Filename
> scenes-dungeonbg_scenes_scenes/dungeonbg/폴더/어셋어드레스_해쉬값.bundle
| Pack Together By Label
라벨 기준으로 패킹되는 방식 (기존 AssetBundle의 그것과 유사)
Pack Seperatley와 마찬가지로, 번들은 분리되어 패킹되지만 어셋 그룹의 설정은 공유한다.
어셋그룹명_assets_라벨명_해쉬값.bundle와 같은 형식으로 네이밍 된다.
예)
Addressable Asset Group: dungeon
Bundle Mode: Pack Together By Label
Bundle Naming Mode: Append Hash to Filename
Label: label1
> dungeon_assets_label1_해쉬값.bundle
예2) 라벨을 여러개 지정한 경우
> dungeon_assets_label1label2_해쉬값.buddle
| 마치며
BundleMode옵션을 활용하여, 용도와 상황에 맞게 번들을 분리 / 통합하여 패킹할 수 있는 방법을 알아보았다.
활용방법이나 케이스들을 가정해보았다.
Case 1) 사이즈가 큰 씬이 포함된 어셋그룹은 Pack Seperately로 지정해서 분리 패킹, 번들의 파일 사이즈를 줄인다.
Case 2) 업데이트되는 신규 컨텐츠 A 그룹은 Pack Together By Label로 지정해서 신규 컨텐츠 진입점에서 번들을 다운로드
신규 컨텐츠 A 어셋 그룹
ㄴSeason 1 > Label: 신규 컨텐츠 A, 시즌 1
ㄴSeason 2 > Label: 신규 컨텐츠 A, 시즌 2
'Workspace > Unity3d' 카테고리의 다른 글
[Addressable] 빌드 프로파일링 가이드 (0) | 2023.03.27 |
---|---|
[Addressable] Default Profile Path 및 관련 변수 (0) | 2023.03.27 |
[Addressable] AnalyzeRule 시스템과 GroupSchema 활용 예제 (0) | 2023.03.27 |
SerializeField와 ? 연산자 (0) | 2023.03.24 |
[Unity3d] Exception occurred inside BeeDriver: System.IO.IOException 이슈 (0) | 2023.03.24 |