UnityのAddressableアセットシステムのAnalyzeツールを使って依存関係がヤバいAssetBundleを分析する方法をまとめました。
- はじめに
- Analyzeツール?
- Check Duplicate Bundle Dependencies
- Check Resources to Addressable Duplicate Dependencies
- Check Scene to Addressable Duplicate Dependencies
- Check Sprite Atlas to Addressable Duplicate Dependencies
- Build Bundle Layout
- 関連
- 参考
Unity2019.2.10
Addressable1.3.8
はじめに
この記事ではAddressableのAnalyzeツールを使って依存関係がおかしいAssetBundleを分析する方法をまとめます。
Addressableの概念や基礎知識についての説明はこの記事では省略しますが、
以下の記事にまとめていますので、必要に応じて参照してください。
Analyzeツール?
Analyzeツールを使うとAssetBundleに含まれるアセットの依存関係を分析できます。
Analyzeツールを開くにはWindow > Asset Management > Addressables > Analyzeを選択します。

ウィンドウ開くと、Analyze Rulesの下にFixables RuleとUnfixable Rulesが存在します。
Fixable Rulesはエラーがあった場合に自動的に修正することができるルールです。
Unfixeable Rulesはチェックができるものの自動修正が不可能なルールです。
ルールを選択した状態でAnalyze Selected Rulesをクリックすることで分析が実行されます。
移行、それぞれの項目について説明していきます。
Check Duplicate Bundle Dependencies
この項目では、あるアセットが複数のAssetBuindleに重複して含まれてしまっていないかをチェックできます。
たとえばアドレスを振っていないテクスチャを二つの異なるPrefabから参照させ、
この二つのPrefabにアドレスを割り振ってから分析実行すると以下のように警告が表示されます。

この状態でFix Selected Rulesをクリックするとテクスチャが別のグループに切り出され、依存関係が解消されます。

Check Resources to Addressable Duplicate Dependencies
この項目では、Resourcesフォルダによりアプリに含まれるアセットが
AssetBundleにも重複して含まれてしまっている場合に警告を表示します。

修正方法はケースバイケースなので、重複して含まれるのが問題であれば、手動で修正します。
Check Scene to Addressable Duplicate Dependencies
この項目を実行すると、組み込みシーン(Build Settingsに登録されているシーン)とAssetBundleに
重複して含まれるアセットがある場合に警告を表示します。

これも重複して含まれるのが問題であれば、手動で修正します。
Check Sprite Atlas to Addressable Duplicate Dependencies
この項目を実行すると、あるSpriteAtlasが複数のAssetBundleに含まれてしまっている場合に警告を示します。
これも同じく重複して含まれるのが問題であれば、手動で修正します。
Build Bundle Layout
この項目は何かをチェックするためのものではなく、AssetBundleの構成を分析するためのものです。
実行すると、どのアセットバンドルに何が含まれるのかが可視化されます。
