Unity 向けのビルド

このガイドでは、Play Asset Delivery を Unity プロジェクトに組み込む方法について説明します。

概要

Unity AssetBundle ファイルにはシリアル化されたアセットが含まれており、アプリの実行中に Unity エンジンに読み込むことができます。これらのファイルはプラットフォーム固有(Android 用など)に作成され、アセットパックと組み合わせて使用できます。ほとんどの場合、1 つの AssetBundle ファイルが 1 つのアセットパックにパッケージ化され、そのアセットパックは AssetBundle と同じ名前を使用します。アセットパックをより柔軟に作成するには、API を使用してアセットパックを設定します。

ランタイムに、Unity の Play Asset Delivery クラスを使用して、アセットパックにパッケージ化された AssetBundle を取得してください。

前提条件

  1. Play Asset Delivery 用の Unity プラグイン(またはパッケージ)を入手します

  2. Unity で AssetBundle を作成します

UI を使用して AssetBundle を設定する

  1. アセットパック内の各 AssetBundle を設定します。

    1. [Google] > [Android App Bundle] > [Asset Delivery Settings] を選択します。
    2. AssetBundle ファイルを直接含むフォルダを選択するために、[Add Folder] をクリックします。

  2. バンドルごとに [Delivery Mode] を [Install Time]、[Fast Follow]、[On Demand] のいずれかに変更します。エラーや依存関係を解決し、ウィンドウを閉じます。

  3. [Google] > [Build Android App Bundle] を選択して App Bundle をビルドします。

  4. (省略可)さまざまなテクスチャ圧縮形式をサポートするように 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 静的メソッドを使用し、BuildPlayerOptionsAssetPackConfig に応じて、Android App Bundle とアセットパックを生成します。

次のステップ

Unity を使用して、Play Asset Delivery をゲームまたはアプリのコードに統合します。