Addressables のシーンを含める

このページでは、Unity で Addressables のシーンを含めるための Android Performance Tuner の設定方法について説明します。

Addressables を使用すると、実行時にコンテンツを動的に読み込むことができます。これには、.apk のビルド時には Unity のビルド設定に存在していなかったシーンも含めることができます。Android Performance Tuner 1.5.1 より前では、このようなシーンは Android Performance Tuner で認識されず、Google Play Console で検査することはできませんでした。

要件

Addressables のシーンをサポートするには以下の要件があります。

  • Android Performance Tuner 1.5.1 以降
  • Unity 2019.3 以降
  • Addressables パッケージ 1.19.4 以降

Addressables のシーンを追加する

Android Performance Tuner に Addressables のシーンを認識させるには、次の手順を行います。

  1. アプリをテストする準備が整ったら、[Window] > [Android Performance Tuner] > [Setup] に移動し、[Addressables Settings] タブを開きます。

    図 1. [Addressables Settings] ウィンドウ。

  2. [Update Addressables Scenes] ボタンをクリックします。

デフォルトでは、AddressableAssetSettingsDefaultObject に含まれるすべてのシーンが Android Performance Tuner に含まれています。ウィンドウには、見つかったすべてのシーンのリストと proto ファイルに保存されている値が表示されます。

図 2. Android Performance Tuner に表示された Addressables のシーンのリスト。

シーンの取得元となる Addressable 設定オブジェクトを変更する方法は次のとおりです。

  1. Assets/AndroidPerformanceTuner_gen/Runtime/Resources フォルダに移動して、Inspector で SetupConfig スクリプト可能オブジェクトを開きます。

  2. [Addressables Settings Object Path] フィールドに、カスタムの設定オブジェクトのパスを(ファイル名を含めて)入力します。

下位互換性の問題を避けるため、シーンのレイアウトがほぼ確定した時点で Addressables のシーンを更新することをおすすめします。

Android Performance Tuner は、Google Play Console にアップロードされた .apk ファイルに存在するシーンのデータのみを収集します。

Addressables のシーンをリセットする

[Addressables Settings] タブの [Reset Addressables Scenes] をクリックすると、Addressables のシーンをリセットできます。ただし、この操作を行うと、アプリの現在公開されているバージョンとの互換性が損なわれます。

新しいリリースを公開せずにアプリの SetupConfig オブジェクトを動的に更新すると、シーンと値の関係が保持されなくなるため、Google Play Console でエラーが発生します。

アノテーションで Addressables のシーンを設定する

デフォルトのアノテーションを使用している場合、Android Performance Tuner は自動的に正しいシーンを設定します。カスタム アノテーションを使用している場合は、ConvertAddressableScenePathToAPTSceneIndex() を呼び出します。

tuner.SetCurrentAnnotation(new Annotation
{
    Scene = (Scene) tuner.ConvertAddressableScenePathToAPTSceneIndex(scenePath),
    Difficulty = Difficulty.Medium
});