【Unity】【Addressable】Analyzeツールを使って依存関係がヤバいAssetBundleを分析する

UnityのAddressableアセットシステムのAnalyzeツールを使って依存関係がヤバいAssetBundleを分析する方法をまとめました。

Unity2019.2.10
Addressable1.3.8

はじめに

この記事ではAddressableのAnalyzeツールを使って依存関係がおかしいAssetBundleを分析する方法をまとめます。
Addressableの概念や基礎知識についての説明はこの記事では省略しますが、
以下の記事にまとめていますので、必要に応じて参照してください。

light11.hatenadiary.com

Analyzeツール?

Analyzeツールを使うとAssetBundleに含まれるアセットの依存関係を分析できます。
Analyzeツールを開くにはWindow > Asset Management > Addressables > Analyzeを選択します。

f:id:halya_11:20191114164104p:plain

ウィンドウ開くと、Analyze Rulesの下にFixables RuleとUnfixable Rulesが存在します。
Fixable Rulesはエラーがあった場合に自動的に修正することができるルールです。
Unfixeable Rulesはチェックができるものの自動修正が不可能なルールです。

ルールを選択した状態でAnalyze Selected Rulesをクリックすることで分析が実行されます。

移行、それぞれの項目について説明していきます。

Check Duplicate Bundle Dependencies

この項目では、あるアセットが複数のAssetBuindleに重複して含まれてしまっていないかをチェックできます。
たとえばアドレスを振っていないテクスチャを二つの異なるPrefabから参照させ、
この二つのPrefabにアドレスを割り振ってから分析実行すると以下のように警告が表示されます。

f:id:halya_11:20191114165139p:plain

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

f:id:halya_11:20191114165426p:plain

Check Resources to Addressable Duplicate Dependencies

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

f:id:halya_11:20191114170807p:plain

修正方法はケースバイケースなので、重複して含まれるのが問題であれば、手動で修正します。

Check Scene to Addressable Duplicate Dependencies

この項目を実行すると、組み込みシーン(Build Settingsに登録されているシーン)とAssetBundleに
重複して含まれるアセットがある場合に警告を表示します。

f:id:halya_11:20191114171213p:plain

これも重複して含まれるのが問題であれば、手動で修正します。

Check Sprite Atlas to Addressable Duplicate Dependencies

この項目を実行すると、あるSpriteAtlasが複数のAssetBundleに含まれてしまっている場合に警告を示します。
これも同じく重複して含まれるのが問題であれば、手動で修正します。

Build Bundle Layout

この項目は何かをチェックするためのものではなく、AssetBundleの構成を分析するためのものです。
実行すると、どのアセットバンドルに何が含まれるのかが可視化されます。

f:id:halya_11:20191114172537p:plain

関連

light11.hatenadiary.com

参考

docs.unity3d.com