アセットバンドルのビルド
アセットバンドルを使いこなす

アセットバンドルの依存性

Important note: The AssetBundle Manager is deprecated for Unity versions 2018.2 and higher. It is no longer available from the Asset Store, but you can still download it from the AssetBundleDemo Bitbucket repository. If you use Unity version 2018.2 or higher, see documentation for Addressable Assets.

AssetBundle (アセットバンドル) は、他のバンドル内に UnityEngine.Object への参照がひとつでもあると、他のアセットバンドルに依存する可能性があります。この依存は、参照先の UnityEngine.Object がどのアセットバンドルにも含まれていない場合には発生しません。この場合は、アセットバンドルのビルド時に、そのバンドルの依存先オブジェクトが同バンドル内にコピーされます。複数のバンドル内のオブジェクトが、どのバンドルにも割り当てられていない同一オブジェクトへの参照を含んでいる場合、そのオブジェクトに依存する各バンドルそれぞれにそのオブジェクトが、作成されたアセットバンドル内にコピーされます。

アセットバンドルに依存が含まれる場合は、インスタンス化しようとしているオブジェクトより先にそのアセットバンドルを読み込むことが重要です。 Unity は自動的には依存関係を読み込みません。

例えば、バンドル1 にあるマテリアルが バンドル2 のテクスチャを参照している場合を考えてみてください。

この例では、 バンドル1 からマテリアルを読み込む前に、 バンドル2 をメモリに読み込む必要があります。 バンドル1バンドル2 を読み込む順序はどちらが先でも問題ありません。重要なのは バンドル1 からマテリアルを読み込む前に バンドル2 を読み込むということです。次の項では、前の項で触れた AssetBundleManifest オブジェクトを使用して、ランタイムで依存の定義および読み込みを行う方法を説明します。


  • 2017–05–15 Page published
アセットバンドルのビルド
アセットバンドルを使いこなす