UnityのAddressableアセットシステムによるAssetBundleの分割単位についてまとめました。
- はじめに
- 原則
- 同じグループのAssetBundleをひとまとめにする
- アドレス単位で別々のAssetBundleにする
- ラベル単位で別々のAssetBundleにする
- どう分割されているのかを分析する
- 関連
Unity2019.2.10
Addressable1.3.8
はじめに
この記事ではUnityのAddressableアセットシステムによるAssetBundleの分割単位についてまとめます。
Addressableの概念や基礎知識についての説明はこの記事では省略しますが、
以下の記事にまとめていますので、必要に応じて参照してください。
原則
まず原則として、グループが異なるアセットはAssetBundleも別のものに格納されます。
また同じグループであっても、Sceneとその以外は別のAssetBundleに格納されます。
同じグループのAssetBundleをひとまとめにする
さて、同じグループに所属するアセットは、パッキングするルールを設定できます。
まずグループをひとまとめのAssetBundleにするには、グループ設定のAdvanced OptionsのBundle ModeをPack Togetherに設定します。
アドレス単位で別々のAssetBundleにする
反対に、アドレス単位ですべて別々のAssetBundleに格納するにはBundle ModeをPack Separatelyにします。
なおこのモードで複数のアセットをまとめてAssetBundleにしたい場合には、それらをまとめてフォルダに入れて、フォルダにだけAddressを付与します。
ラベル単位で別々のAssetBundleにする
Bundle ModeをPack Together By LabeにするとラベルごとにAssetBundleがまとめられます。
またこの場合、ラベルが付いていないアセットはすべて一つのAssetBundleにまとめられます。
どう分割されているのかを分析する
さて以上の設定の結果、AssetBundleが実際にどう分割されているのかを見るためには分析ツールを使います。
分析ツールはWindow > Asset Management > Addressables > Analyze
から開きます。
ウィンドウが開いたら、Analyze Rules > Unfixable Rules > Build Bundle Layout
を選択してAnalyze Selected Rules
をクリックします。
すると以下のように生成されたAssetBundleが一覧化されます。
さらに折り畳みを解除すると、暗黙的に含まれている依存関係にあるアセットの情報なども見ることができます。