Version: Unity 6.0 (6000.0)
言語 : 日本語
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.5 GB 未満の場合、Unity はすべてを 1 つのアセットパックにまとめます。このアセットパックは UnityDataAssetPack と呼ばれるもので、install-time 配信モードを使用します。カスタムアセットパックを作成しない場合、デバイスがアプリケーションのインストールの一部としてアセットパックをダウンロードし、ユーザーが最初にアプリケーションを起動するときに、すべてのアセットが利用可能になることを意味します。
  • 追加アセットが 1.5 GB 以上のストレージを必要とする場合、Unity はストリーミングアセットを UnityStreamingAssetPack という 1 つのアセットパックにまとめ、その他のアセットを UnityDataAssetPack というアセットパックにまとめます。これらのアセットパックは両方とも、install-time 配信モードを使用します。
  • テクスチャ圧縮ターゲティングを有効にすると、Unity では UnityTextureCompressionsAssetPack と呼ばれる追加のinstall-timeアセットパックが生成されます。このパックには、共通のアセットと最初のシーンで必要なアセットが含まれています。テクスチャ圧縮ターゲティングはストリーミングアセットには影響しないため、ストリーミングアセットを使用してテクスチャ圧縮ターゲティングを有効にすると、ストリーミングアセットは UnityStreamingAssetPack と呼ばれる別のアセットパックにパックされます。Unity は、追加のアセットが 1.5 GB を超えているかどうかにかかわらずこの処理を実行します。

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

重要: これらのアセットパックのいずれかが 1.5 GB を超える場合、Unity は警告を表示しますが、ビルドは失敗しません。ビルドプロセス中、Unity は、Unity で生成したアセットパックのサイズを個別に確認します。そのため、生成されたアセットパックとベースモジュールの合計サイズが、Google Play ストアで設定されている制限 (4 GB) 未満であることを確認してください。また、Unity はカスタムアセットパックのサイズは検証しません。つまり、Unity で生成したアセットパックが Google Play ストアの制限内であっても、カスタムアセットパックと組み合わせると Google Play ストアの制限を超えてしまう場合、Unity では警告やエラーが表示されません。ただし、Android Player 設定Warn about App Bundle size を有効にすると、Google Play のサイズの上限に従って、生成されたリリースのアプリケーションバンドルのフルサイズを検証できます。

カスタムアセットパック

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

Addressables でカスタムアセットパックを使用するには、Addressables for Android パッケージを使用します。

追加リソース

Play Asset Delivery
Play Asset Delivery の設定