Version: 2021.1
言語: 日本語
トラブルシューティング
アセットバンドルのダウンロードの整合性とセキュリティ

Unity の Asset Bundle Browser ツール

ノート: このツールは Unity の標準機能に対する追加的な機能です。使用するためには、標準の Unity エディターのダウンロードとインストールとは別に、GitHub からツールのダウンロードとインストールを行う必要があります。

Asset Bundle Browser ツールを使用すると、Unity プロジェクトで使用する AssetBundle (アセットバンドル) の設定の確認や変更を行うことができます。無効なバンドルを作成する可能性を防ぎ、既存のバンドルに含まれる問題を示します。また基本的なビルド機能も搭載しています。

アセットバンドルの設定はインスペクター内でアセットを選択して手動で行えますが、このツールはその代替方法として使用できます。バージョン 5.6 以降の Unity プロジェクトであれば使用可能です。ツールを追加すると、メニューの Window > AssetBundle Browser に新しい項目が追加されます。新しいウィンドウに、バンドルの設定 (Configure) とビルド機能 (Build) の 2 つのタブが表示されます。

バージョン 5.6 以降の Unity が必要です。

Configure タブの機能説明

注意: このユーティリティーはプレリリース版であるため、使用前にプロジェクトのバックアップを取ることを推奨します。

このウィンドウは、プロジェクトのアセットバンドルの管理、変更を行うエクスプローラーのようなインターフェースを提供します。開くとまず、ツールはバックグラウンドですべてのバンドルデータを解析し、検出した警告やエラーを表示します。プロジェクトとの同期は可能な限り維持する仕組みになっていますが、ツール外部のアクティビティを全て認識できる訳ではありません。エラー検出時にクイックパスを強制する、または外部で行われた変更を反映するためにツールを更新するには、左上の再読み込みボタンを押してください。

ウィンドウは Bundle List、Bundle Details、Asset List、Asset Details に 4分割されています。

Bundle List (バンドルリスト)

ウィンドウの左側のペインに表示されるセクションです。ここにはプロジェクト内の全バンドルのリストが表示されます。以下の機能が利用できます。

  • 特定の 1 つまたは一式のバンドルを選択すると、 Asset List (アセットリスト) のセクションに、そのバンドルに含まれるアセットのリストが表示されます。

  • バリアントを含むバンドルは濃いグレーで表示され、展開するとバリアントのリストが表示されます。

  • バンドルやバンドルフォルダーの名前を変更するには、右クリック、またはゆっくり 2 回クリックします。

  • バンドルにエラーや警告や情報のメッセージがある場合は、右側にアイコンが表示されます。カーソルをこのアイコン上に持って行くと詳細情報が表示されます。

  • バンドルに最低 1 シーンが含まれていて (シーンバンドル)、明示的に含まれるシーンアセットがない場合、エラーがあることが表示されます。エラーを修正するまで、このバンドルはビルドされません。

  • 重複したアセットには警告のマークが出ます。(重複についての詳しい説明は、以下、 Asset List の項をご覧ください。)

  • 空のバンドルには情報のマークが表示されます。様々な理由により、空のバンドルは不安定になり、この一覧から消えてしまうことがあります。

  • バンドルのフォルダーには、それに含まれるバンドルの一番重要度の高いメッセージのマークが表示されます。

  • バンドルに重複したアセットが含まれている場合は以下の手順で修正できます。

    • 特定の (1 つの) バンドル上で右クリックし、全ての重複アセットを別の新しいバンドルに移動します。

    • 複数のバンドル上で右クリックし、選択中の複数のバンドル内にある全ての重複アセットを新しいバンドルに移動させます。あるいは、選択中のバンドル内で重複しているアセットのみを新しいバンドルに移動させます。

    • Asset List セクションから Bundle List セクションに重複アセットをドラッグ&ドロップすることによって手動で任意のバンドルに入れることも可能です。詳細は以下の Asset List の機能一覧をご覧ください。

  • 右クリックまたは Delete キーでバンドルを削除できます。

  • バンドルをドラッグしてフォルダー内/外に移動したり、マージしたりできます。

  • Project Explorer からアセットをバンドルにドラッグして追加することができます。

  • 空の領域にアセットをドラッグすると新しいバンドルが作成されます。

  • 右クリックで、新しいバンドルやバンドルフォルダーの作成を行えます。

  • 右クリックで「Convert to Variant (バリアントに変換)」できます。

    • これにより、選択したバンドルにバリアント (初期設定では newvariant) が 1 つ追加されます。

    • 選択中のバンドルにその時点で含まれている全てのアセットが、新しいバリアント内に移動されます。

    • 近日実装予定の機能 - バリアント間の不整合の検知

バンドルの種類 (通常のバンドルまたはシーンバンドル) を示すアイコンが表示されます。

標準バンドルのアイコン
標準バンドルのアイコン
シーンバンドルのアイコン
シーンバンドルのアイコン

Bundle Details (バンドルの詳細)

ウィンドウの左下のセクションです。 Bundle List のセクションで選択されているバンドルの詳細情報が表示されます。ここには以下の情報 (の中で入手可能なもの) が表示されます。

  • バンドルの合計サイズ (全アセットのディスク上のサイズの合計)

  • 現在のバンドルが依存しているバンドル

  • 現在のバンドルに関連する全てのメッセージ (エラー、警告、情報)

Asset List (アセットリスト)

ウィンドウの右上のセクションです。 Bundle List のセクションで選択されているバンドルに含まれるアセットの一覧です。ここでは以下の機能が利用可能です。

  • バンドルに含まれることになるアセットの全一覧を確認できます。列のヘッダーをクリックするとアセットの並び替えが可能です。

  • バンドルに明示的に含められたアセット (つまり特定のバンドルをあなたが手動で割り当てたアセット) がどれか確認できます。明示的に行われた割り当てはインスペクターに反映されます。このビューでは、アセット名の隣にバンドル名が表示されます。

  • バンドルに暗示的に (自動的に) 含まれたアセットを確認できます。アセット名の横のバンドル名の欄に auto (自動) と表示されます。これらのアセットをインスペクターで確認すると、割り当てられたバンドルを示す欄に None (無し) と表示されます。

    • これらは、選択中のバンドル内にある別のアセットとの依存関係のために同じバンドルに加えられたアセットです。どのバンドルにも明示的に (手動で) 割り当てられていないアセットのみ、暗示的に (自動で) いずれかのバンドルに加えることができます。

    • 暗黙的に含められたアセットのリストは不完全な場合がありますので注意してください。マテリアルやテクスチャが正常に表示されないというバグが報告されています。

    • 複数のアセットが同じ依存関係を共有する場合もあるため、特定のアセットが複数のバンドルに自動的に含められることもよくあります。これがツールによって検知されると、そのバンドルとアセットに警告アイコンが表示されます。

    • アセットの重複割り当ての警告を修正するには、新しいバンドルに手動でアセットを移動するか、バンドルの上で右クリックして “Move duplicate” (重複を移動) のオプションからひとつ選択します。

  • Project Explorer からこのビューにアセットをドラッグして、選択したバンドルに加えることができます。この操作は、バンドルが 1 つだけ選択され、アセットタイプと互換性があるとき (例えば、シーンバンドルに対してシーン) のみ、有効です。

  • Asset List から Bundle List にアセットをドラッグして別のバンドルや新規作成したバンドルに追加することができます (これは、そのアセットが手動で含められたものか、自動で含められたものかに関わらず行うことができます)。

  • バンドルからアセットを削除するには、右クリックまたは Delete キーを使用します (プロジェクトからアセットが削除される訳ではありません)。

  • アセットを選択またはダブルクリックすると、それが Project Explorer 上に表示されます。

フォルダーにバンドルを含む場合の注意: 特定のアセットフォルダーを (Project Explorer で) バンドルに割り当てることができます。これをブラウザーで確認すると、フォルダー自体は明示 (手動)、中身は暗示 (自動) として表示されます。これは、アセットのバンドルへの割り当てに使用される優先順位のシステムが反映されたものです。例えば、ゲームの Assets/Prefabs 内にプレハブが 5 つあって、 “Prefabs” フォルダーを特定のバンドル内にあるものとしてマーキングし、実際のプレハブのうち 1 つ (“PrefabA”) を別のバンドル内にあるものとしてマーキングしたとします。これがビルドされると、“PrefabA” がひとつのバンドルに入り、他の 4 つが別のバンドルに入ることになります。

Asset Details (アセットの詳細)

ウィンドウの右下のセクションです。 Asset List のセクションで選択されているアセットの詳細が表示されます。このセクションで行えるインタラクションはありませんが、以下の情報 (このうち入手可能なもの) が表示されます。

  • アセットのフルパス

  • 自動的に含められたものである場合は、その理由

  • 警告がある場合は、その理由

  • エラーがある場合は、その理由

トラブルシューティング

  • [特定のバンドルの名前変更や削除ができない] 既存のプロジェクトに本ツールを追加した場合、この状況が起こる場合があります。データをリフレッシュするために、 Unity のメニューシステムからアセットを強制的に再インポートしてください。

外部ツールのインテグレーション

アセットバンドルデータを生成するその他のツールを、ブラウザとインテグレーションすることが可能です。現在、 AssetBundle Graph ツール が良い例です。インテグレーションが検出された場合は、ブラウザの上部に選択バーが表示されます。デフォルトのデータソース (Unityの AssetDatabase) かインテグレーションしたツール、いずれかを選択できます。なにも検出されない場合、選択できるものはありませんが、タブヘッダーを右クリックして Custom Sources を加えることができます。

Build タブの機能説明

Build タブには、アセットバンドルの使用を開始するに当たって必要な基本的なビルド機能が提供されています。商業用の開発においては、ほとんどの場合、より高度なビルドのセットアップが必要となります。ここで提供されている機能だけでは事足りなくなった場合は、ぜひ独自のコード作成の参考として本ツール内のコードを使ってください。インターフェースは以下のようになっています。

  • Build Target - バンドルがビルドされるターゲットのプラットフォーム

  • Output Path - ビルドされたバンドルを保存するパスです。デフォルトでは AssetBundles/ となっています。パスの変更は手動あるいは “Browse” を選択することで行えます。デフォルトの命名規則に戻すには “Reset” を押してください。

  • Clear Folders - ビルドが行われる前に、ビルドのパスのフォルダーの全データが削除されます。

  • Copy to StreamingAssets - ビルドの完了後にリザルトが Assets/StreamingAssets にコピーされます。テストを行う場合に役立ちますが、製品版では使用されません。

  • Advanced Settings (詳細設定)

    • Compression - No compression (非圧縮)、 Standard LZMA (標準 LZMA)、 Chunk-based LZ4 compression (チャンクベースの LZ4 圧縮) のどれかをご選択ください。

    • Exclude Type Information - アセットバンドル内にタイプ情報を含まない

    • Force Rebuild - ビルドが必要なバンドルを再ビルドする。これは “Clear Folders” とは異なり、既に存在しないバンドルの削除を行いません。

    • Ignore Type Tree Changes - インクリメンタル ビルドのチェック時にタイプツリーの変更を無視します。

    • Append Hash - アセットバンドル名にハッシュを付加します。

    • Strict Mode - ビルド中に何らかのエラーがレポートされている場合は、ビルドを停止する

    • Dry Run Build - ドライランモードでビルドする

  • Build - ビルドを実行する



  • 5.6 の新機能
トラブルシューティング
アセットバンドルのダウンロードの整合性とセキュリティ