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

Unity のアセットパック

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

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

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

Unity が自動的に生成するアセットパックとは別に、自分でカスタムのアセットパックを作成することもできます。これは、アセットパックのコンテンツをコントロールする必要がある場合に便利です。Unityは、作成したカスタムアセットパックを、最終的な AAB に加えます。詳細は、カスタムアセットパック を参照してください。

アセットパックの作成

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

  • 追加アセットのストレージ容量が 1 GB 未満の場合、Unity はすべてを 1 つのアセットパックにまとめ、install-time 配信モード にします。カスタムアセットパック を作成しない場合、デバイスがアプリケーションのインストールの一部としてアセットパックをダウンロードし、ユーザーが最初にアプリケーションを起動するときに、すべてのアセットが利用可能になることを意味します。
  • 追加アセットが 1 GB 以上のストレージを必要とする場合、Unity は ストリーミングアセット を 1 つのアセットパックにまとめ、その他のアセットを別のアセットパックに加えます。Unity は、大きい方のアセットパックに install-time 配信モードを設定し、小さい方のアセットパックに fast-follow 配信モードを設定します。

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

Unity が自動生成するアセットパックでは、Unity は 配信モード の変更をサポートしていません。アセットパックの配信モードを変更したい場合は、自身のアセットでカスタムアセットパックを作成してください。

カスタムアセットパック

特定のアセットパックに含まれる非コードリソースを制御したい場合は、カスタムアセットパックを作成することができます。Unity が生成したアセットパックとは異なり、カスタムアセットパックには配信モードを設定することができます。カスタムアセットパックを作成する場合、Google Play ストアにはアセットパックのサイズと数量の制限があります。制限に関する情報は、ダウンロードサイズの制限 を参照してください。

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

その他の参考資料

Play Asset Delivery
Play Asset Delivery の設定