Version: 2021.3
アセットにフォルダーごとのデフォルトを適用する
アセットバンドルのワークフロー

アセットバンドル

AssetBundle (アセットバンドル) はランタイムに読み込むプラットフォーム特有のコード以外のアセット (モデル、テクスチャ、プレハブ、オーディオクリップ、シーン全体) を含むアーカイブファイルです。アセットバンドルは互いの依存関係を示すことができます。例えば、あるアセットバンドル のマテリアルは他のアセットバンドルのテクスチャを参照できます。ネットワークを使った効果的な配布のために、アセットバンドルはその使用要件に応じてビルトインのアルゴリズムの中の 1 つで圧縮されます (LZMA と LZ4)。

アセットバンドルはダウンロードコンテンツ (DLC) に有用で、初期インストールサイズを削減し、エンドユーザーのプラットフォームのために最適化されたアセットを読み込み、ランタイムのメモリにかかる負担を軽減します。

ノート: アセットバンドルには、ScriptableObject などのコードオブジェクトのインスタンスのシリアル化されたデータを格納することができます。ただし、クラス定義自体はプロジェクトアセンブリの 1 つにコンパイルされます。シリアル化されたオブジェクトをアセットバンドルにロードすると、Unity は一致するクラス定義を見つけ、そのインスタンスを作成し、シリアル化された値を使用してそのインスタンスのフィールドを設定します。つまり、これらのアイテムがクラス定義の変更を必要としない限り、アセットバンドルでゲームに新しいアイテムを導入できます。

アセットバンドルには何が含まれているか

“アセットバンドル” は 2 つの異なる、しかし、関連するものを意味しています。

最初はディスク上の実際のファイルです。これはアセットバンドルアーカイブと呼ばれます。アセットバンドルアーカイブはフォルダーのようなコンテナで、その中にさらにファイルを保持します。これらのファイルには 2 種類あります。

  • シリアル化したファイル。個々のオブジェクトに分割され、この 1 つのファイルに書き出されたアセットが含まれています
  • リソースファイル。特定のアセット (テクスチャとオーディオ ) 用に別々に格納されたバイナリデータのチャンクで、Unity が別のスレッドのディスクから効率的にロードできるようにします。

“アセットバンドル”は、特定のアセットバンドルアーカイブからアセットをロードするために、コードを通して相互作用する実際のアセットバンドルオブジェクトを参照することもできます。このオブジェクトには、このアーカイブに加えたアセットのすべてのファイルパスのマップが含まれます。

詳細は、Assets, Resources and AssetBundles を参照してください。

ノート: “アセットバンドルマネージャー” は古いバージョンの Unity で使用されていたツールで、アセットバンドルを使用してアセット管理を効率化するのに有用でした。Unity バージョン 2018.2 以降、アセットバンドルマネージャーは非推奨にされたため、代わりに Addressable アセット パッケージを使用してください。

アセットにフォルダーごとのデフォルトを適用する
アセットバンドルのワークフロー