AssetBundle (アセットバンドル) はランタイムに読み込むプラットフォーム特有のコード以外のアセット (モデル、テクスチャ、プレハブ、オーディオクリップ、シーン全体) を含むアーカイブファイルです。アセットバンドルは互いの依存関係を示すことができます。例えば、あるアセットバンドル のマテリアルは他のアセットバンドルのテクスチャを参照できます。ネットワークを使った効果的な配布のために、アセットバンドルはその使用要件に応じてビルトインのアルゴリズムの中の 1 つで圧縮されます (LZMA と LZ4)。
アセットバンドルはダウンロードコンテンツ (DLC) に有用で、初期インストールサイズを削減し、エンドユーザーのプラットフォームのために最適化されたアセットを読み込み、ランタイムのメモリにかかる負担を軽減します。
Note: An AssetBundle can contain the serialized data of an instance of a code object, such as a ScriptableObject. However, the class definition itself is compiled into one of the Project assemblies. When you load a serialized object in an AssetBundle, Unity finds the matching class definition, creates an instance of it, and sets that instance’s fields using the serialized values. This means that you can introduce new items to your game in an AssetBundle as long as those items do not require any changes to your class definitions.
“アセットバンドル” は 2 つの異なる、しかし、関連するものを意味しています。
最初はディスク上の実際のファイルです。これはアセットバンドルアーカイブと呼ばれます。アセットバンドルアーカイブはフォルダーのようなコンテナで、その中にさらにファイルを保持します。これらのファイルには 2 種類あります。
“アセットバンドル”は、特定のアセットバンドルアーカイブからアセットをロードするために、コードを通して相互作用する実際のアセットバンドルオブジェクトを参照することもできます。このオブジェクトには、このアーカイブに加えたアセットのすべてのファイルパスのマップが含まれます。
詳細は、Assets, Resources and AssetBundles を参照してください。
ノート: “アセットバンドルマネージャー” は古いバージョンの Unity で使用されていたツールで、アセットバンドルを使用してアセット管理を効率化するのに有用でした。Unity バージョン 2018.2 以降、アセットバンドルマネージャーは非推奨にされたため、代わりに Addressable アセット パッケージを使用してください。