Version: 2023.1
言語: 日本語
Play Asset Delivery
Play Asset Delivery の設定

Unity のアセットパック

このページでは、Play Asset Delivery を使用する Unity Android アプリケーションのコンテキストで、アセットパックがどのように機能するかについて説明します。

ベースモジュール とアセットパックに分割されたアプリケーションを含む Android App Bundle (AAB) を生成するように、Unity を設定できます。

  • ベースモジュール: 最初のシーンの実行ファイル (Java とネイティブ)、プラグイン、スクリプト、アセットを含みます。最初のシーンとは、ビルドインデックス が 0 のシーンのことです。
  • アセットパック: 残りのシーン、リソース、ストリーミングアセット など、すべてが含まれています。Unity がビルド時に生成するアセットパックの詳細については、アセットパックの生成 を参照してください。

Alongside the asset packs that Unity generates automatically, you can also create your own custom asset packs. This helps you to control which assets an asset pack contains. Unity adds your custom asset packs to the final AAB. For more information, refer to Custom asset packs.

アセットパックの作成

アセットパックには ダウンロードサイズの制限 があります。これを考慮して、Unity は追加アセットのサイズに応じてアセットパックの生成方法を変えます。

  • If the additional assets take less than 1GB of storage, Unity packs everything into a single asset pack that uses the install-time delivery mode and is called UnityDataAssetPack. If you don’t create any custom asset packs, this means that the device downloads the asset pack as part of the application installation and, when the user first launches the application, all assets are available.
  • If the additional assets take more than 1GB of storage, Unity adds Streaming Assets into one asset pack called UnityStreamingAssetPack and adds all other assets into the UnityDataAssetPack asset pack. Unity assigns the install-time delivery mode to the larger asset pack and assigns the fast-follow delivery mode to the smaller one.

重要: これらのアセットパックのどちらかが、Google Playストアで許可されている サイズ制限 より大きい場合、Unity は警告を表示しますが、ビルドに失敗することはありません。また、Unity はアセットパックのサイズを個別にチェックし、カスタムアセットパックのサイズ検証は行いません。つまり、Unity で生成したアセットパックが Google Play ストアの制限内に収まっていても、カスタムアセットパックとの組み合わせで Google Play ストアのサイズが大きすぎる場合、Unity では警告やエラーは表示されないということです。

If you enable texture compression targeting, Unity generates an additional install-time asset pack called UnityTextureCompressionsAssetPack which includes common assets and the assets required by the first scene. Texture compression targeting doesn’t affect Streaming Assets so if you use Steaming Assets and enable texture compression targeting, Unity always packs Streaming Assets into a separate asset pack called UnityStreamingAssetPack. Unity does this regardless of whether your additional assets are over 1GB or not. Both UnityDataAssetPack and UnityStreamingAssetPack might end up as install-time or fast-follow asset packs depending on their size and the size of UnityTextureCompressionsAssetPack.

For asset packs that Unity automatically generates, Unity doesn’t support changing the delivery mode. If you want to change the delivery mode of an asset pack, create custom asset packs with your assets.

カスタムアセットパック

If you want to control which non-code resources are in a particular asset pack, you can create a custom asset pack. Unlike Unity-generated asset packs, you can set the delivery mode for custom asset packs. If you create a custom asset pack, be aware that the Google Play Store has size and quantity limits for asset packs. For information on the limits, refer to Download size limits.

カスタムアセットパックを Addressables で使用するには、Addressables の機能を拡張する必要があります。Play Asset Delivery Addressables sample はその方法の例を紹介しています。詳しくは、サンプルのドキュメント を参照してください。

その他の参考資料

Play Asset Delivery
Play Asset Delivery の設定