アセット送付を統合するときに、Unity ゲームは Addressables または AssetBundle を使ってアセットパックにアクセスできます。Addressables は Unity 2019.4 以降でビルドされたゲーム用に推奨される最新のアセット送付ソリューションで、AssetBundle は Unity 2017.4 および 2018.4 のアセットパックをサポートしています。
Unity Addressables
Unity 2019.4 以降でビルドされたゲームは、Android でのアセット送付に Addressables を使用してください。Unity は Addressables を使用した Android アセットパックの処理用に Play Asset Deliver(PAD)API を用意しています。Addressables の使用について詳細は、以下をご覧ください。
- Addressables for Android パッケージ
- Unity 用 PAD ガイド
- Unity 用 PAD API のリファレンス ドキュメント
AssetBundle ファイルを使用する
Unity 2017.4 および 2018.4 でビルドされたゲームでは、Android でのアセット送付に AssetBundle ファイルを使用できます。Unity AssetBundle ファイルにはシリアル化されたアセットが含まれており、アプリの実行中に Unity エンジンに読み込めます。これらのファイルはプラットフォーム固有(Android 用など)に作成され、アセットパックと組み合わせて使用できます。ほとんどの場合、1 つの AssetBundle ファイルが 1 つのアセットパックにパッケージ化され、そのアセットパックは AssetBundle と同じ名前を使用します。アセットパックをより柔軟に作成するには、API を使用してアセットパックを設定します。
ランタイムに、Unity の Play Asset Delivery クラスを使用して、アセットパックにパッケージ化された AssetBundle を取得してください。
前提条件
- 開発環境をセットアップします。
OpenUPM-CLI
OpenUPM CLI がインストールされている場合は、次のコマンドで OpenUPM レジストリをインストールできます。
openupm add com.google.play.assetdeliveryOpenUPM
Unity のメニュー オプション [Edit](編集)> [Project Settings](プロジェクト設定)> [Package Manager] を選択して、Package Manager の設定画面を開きます。
OpenUPM をスコープ付きレジストリとして [Package Manager] ウィンドウに追加します。
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.assetdelivery com.google.android.appbundleUnity のメニュー オプション [Window](ウィンドウ)> [Package Manager]を選択して、Package Manager メニューを開きます。
マネージャー スコープのプルダウンで [My Registries](マイレジストリ)を選択します。
パッケージ リストから [Google Play Integrity plugin for Unity] パッケージを選択し、[Install] を押します。
GitHub からインポート
GitHub から最新の
.unitypackageリリースをダウンロードします。Unity メニュー オプションの [Assets](アセット)> [Import Package](パッケージをインポート)> [Custom Package](カスタム パッケージ)を選択し、すべてのアイテムをインポートして、
.unitypackageファイルをインポートします。
UI を使用して AssetBundle を設定する
アセットパック内の各 AssetBundle を設定します。
- [Google] > [Android App Bundle] > [Asset Delivery Settings] を選択します。
- AssetBundle ファイルを直接含むフォルダを選択するために、[Add Folder] をクリックします。
バンドルごとに [Delivery Mode] を [Install Time]、[Fast Follow]、[On Demand] のいずれかに変更します。エラーや依存関係を解決し、ウィンドウを閉じます。
[Google] > [Build Android App Bundle] を選択して App Bundle をビルドします。
(省略可)さまざまなテクスチャ圧縮形式をサポートするように App Bundle を構成します。
API を使用してアセットパックを設定する
自動ビルドシステムの一部として実行できるエディタ スクリプトを使用して Asset Delivery を設定できます。
AssetPackConfig クラスを使用して、Android App Bundle ビルドに含めるアセットと、アセットの配信モードを定義します。これらのアセットパックに AssetBundle を含める必要はありません。
public void ConfigureAssetPacks {
// Creates an AssetPackConfig with a single asset pack, named
// examplePackName, containing all the files in path/to/exampleFolder.
var assetPackConfig = new AssetPackConfig();
assetPackConfig.AddAssetsFolder("examplePackName",
"path/to/exampleFolder",
AssetPackDeliveryMode.OnDemand);
// Configures the build system to use the newly created assetPackConfig when
// calling Google > Build and Run or Google > Build Android App Bundle.
AssetPackConfigSerializer.SaveConfig(assetPackConfig);
// Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
BuildBundle(new buildPlayerOptions(), assetPackConfig);
}
Bundletool クラスの BuildBundle 静的メソッドを使用し、BuildPlayerOptions と AssetPackConfig に応じて、Android App Bundle とアセットパックを生成します。
ガイド チュートリアルについては、Unity ゲームでの Play Asset Delivery の使用に関する Codelab をご覧ください。
Play Asset Delivery Unity API と統合する
Play Asset Delivery Unity API には、アセットパックのリクエスト、ダウンロードの管理、アセットへのアクセスを行うための機能が用意されています。まずプロジェクトに Unity プラグインを追加してください。
API で使用する関数は、アセットパックの作成方法によって異なります。
プラグイン UI を使用してアセットパックを作成した場合は、プラグイン設定アセットパックを選択してください。
API(またはプラグイン UI)を使用してアセットパックを作成した場合は、API 設定アセットパックを選択してください。
次のステップ
ローカルおよび Google Play でアセット配信をテストします。