Version: 5.6
トラブルシューティング
ファイルサイズの削減

Unity の Asset Bundle Browser ツール

(注) このツールは Unity の標準機能に対する追加的な機能です。ご使用に当たっては、標準の Unity エディターのダウンロードおよびインストールとは別に、 GitHub からダウンロードとインストールを行う必要があります。

Asset Bundle Browser (アセットバンドル ブラウザー)ツールは、Unity プロジェクトで使用するアセットバンドルの設定や確認を行えるようにするものです。無効なバンドルが作成されるような編集をブロックし、既存のバンドルに含まれる問題も通知してくれます。また基本的なビルド機能も搭載しています。

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

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

Configure タブの機能説明

(注) このユーティリティはプレリリース版ですので、ご使用前にプロジェクトのバックアップを取ることをお勧めします。

このウィンドウでは、プロジェクトのアセットバンドルの管理・修正を、エクスプローラーのようなインターフェースで行うことができます。初めてこのウィンドウを開くと、全てのバンドルのデータがバックグラウンドで解析され、検知された警告やエラーが少しずつ表示されていきます。プロジェクトとの同期は可能な限り維持する仕組みになっていますが、ツール外部のアクティビティを全て認識できる訳ではありません。素早いエラーチェックの強制実行を行いたい場合、またはツールを更新して外部の変更を反映させたい場合は、左上にある更新ボタンをクリックしてください。

このウィンドウは、 Bundle List、 Asset List、 Asset Details の 3 つの領域に分かれています。

Bundle List (バンドル一覧)

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

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

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

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

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

  • バンドルにシーンが含まれていて(つまり「シーンバンドル」であり)、他には何も手動で含められていない場合、エラーのマークが表示されます。このバンドルは、修正されるまではビルドされません。

  • 重複したアセットには警告のマークが出ます。(重複についての詳しい説明は、以下、 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 のメニューシステムからアセットを強制的に再インポートしてください。

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 - ビルドを実行する



トラブルシューティング
ファイルサイズの削減