Version: 2020.2
言語: 日本語
Unity エディターでの Remote Settings の管理
Remote Settings スクリプティング

Remote Settings コンポーネント

  • 注意: Unity Remote Config はプレビューパッケージとして利用可能になりました。Remote Config は、新しいバイナリを必要とせずにゲームの動作や外観を変更できるように改良された製品です。リモートで機能を有効または無効にしたり、ゲームの仕様を変更して特定のオーディエンスをターゲットにしたり、新しいコンテンツのリリースをスケジュールして特別なイベントを実行したりできます。

Remote Settings コンポーネント を使用すると、コードを作成せずにシーンの他のコンポーネントのプロパティを制御できます。Remote Settings コンポーネントは Remote Settings プラグインの一部で、Unity Asset Store からダウンロードできます。

Remote Settings コンポーネントを使用する前に、プロジェクトの Remote Settings を有効 にし、Unity Analytics Dashboard を使用して Remote Settings の Key (キー) と Value (値) の組を作成する 必要があります。

Remote Settings コンポーネントは、制御する他のコンポーネントと同じゲームオブジェクトに配置したり、別のゲームオブジェクトに配置したりできます。唯一必要なのは、Remote Settings コンポーネントと制御されるコンポーネントの両方が同じシーンでアクティブであることです。

Remote Settings コンポーネントの使用

以下の手順で Remote Settings をコンポーネントのプロパティ、または、フィールドに接続します。

  1. Window > Unity Analytics > Remote Settings の順に選択し、Remote Settings ウィンドウを開きます。

  2. 接続する設定を Configuration (Release または Development) で選びます。

  3. Remote Settings コンポーネントを設定したいゲームオブジェクトの Inspector ウィンドウに移動します。

  4. Add Component ボタンをクリックします。

  5. リストから Analytics を選択します。

  6. RemoteSettings スクリプトをクリックして、ゲームオブジェクトに Remote Settings コンポーネントを加えます。

  7. 新しいパラメーターマッピングを加えるには、Remote Setting コンポーネントの Parameters リストの下の方にある + アイコンをクリックします。

  8. 遠隔的に制御したいゲームオブジェクト、または、コンポーネントを Parameters の Object フィールドにドラッグします。

  9. Parameters の Field ドロップダウンリストで制御したいプロパティ、または、フィールドを選択します。

  10. コンポーネントのプロパティ、または、フィールドを制御するために使用する Remote Setting Key を選択します。

  11. パラメーターを加えるには + アイコンをクリックします。

リストに Remote Settings Key の名が表示されていない場合は、Remote Settings ウィンドウ (menu: Window > Unity Analytics > Remote Settings) を開き、Refresh をクリックします。リモート設定がこのウィンドウに表示されない場合は、インターネットに接続されていることと、プロジェクトが正しく設定されていることを確認してください (Remote Settings の有効化 を参照)。

キー名のリストに誤ったキーが表示された場合は、Remote Settings ウィンドウ (menu: Window > Unity Analytics > Remote Settings) を開き、Configuration に正しいキーを含む設定を選択します。

Remote Settings コンポーネントでは、コンポーネント自体よりも後にシーンでロードされる プレハブ の変数を設定することはできません。同様に、後からシーンにロードされる Remote Settings コンポーネントは、同じプレハブの一部であるオブジェクトの変数しか設定できません。このような状況を処理するには、複数の Remote Settings コンポーネントを使用します。

プリミティブでないプロパティの設定

Remote Settings コンポーネントを使用して、オブジェクトのプリミティブなフィールドとプロパティを直接設定することができます。ただし、オブジェクトの非プリミティブなメンバーの変数を設定するには、追加のコードを作成する必要があります。最も簡単な方法は、Remote Settings コンポーネントを使用して設定できるプリミティブ型のプロパティをオブジェクトに追加することです。 次に、これらのプロパティのセッター関数を実装して、非プリミティブなオブジェクトの意図する変数を更新します。

コード例

下の例では、クラスは、レンダリングされたゲームオブジェクトへ割り当てられたマテリアルの基本色を設定します。これを行うために、クラスは HTML スタイルの色文字列を取るプリミティブな文字列型のプロパティを定義します。プロパティのセッターはその文字列をパースし、それに応じてマテリアルの色を設定します。

using UnityEngine;

public class RemoteColorChanger : MonoBehaviour
{
    private string _colorString = "";
    public string ColorString {

        get { 
            return _colorString; 
        }

        set { 
            Color colorObject;
            if (ColorUtility.TryParseHtmlString (value, out colorObject)) {
                _colorString = value;
                Renderer renderer = GetComponent<Renderer> ();

                if (renderer != null) {
                    MaterialPropertyBlock materialProperties = new MaterialPropertyBlock ();
                    renderer.GetPropertyBlock (materialProperties);
                    materialProperties.SetColor ("_Color", colorObject);
                    renderer.SetPropertyBlock (materialProperties);
                } 
            } else {
                Debug.LogWarning ("Invalid color string: " + value);
            }
        }
    }
}

コード例の使用

RemoteColorChanger スクリプトは、Renderer コンポーネントを持つすべての ゲームオブジェクト に加えられます。それから、Remote Settings コンポーネントを使用して Setting Key を ColorString プロパティにマップします。この例では、スクリプトは Cube オブジェクトのコンポーネントです。

Remote Settings コンポーネント。ColorString を Remote Setting Key にマッピング
Remote Settings コンポーネント。ColorString を Remote Setting Key にマッピング

Analytics Dashboard の Remote Settings ページの一致する Key-Value の組は以下のように表示されます。

Analytics Dashboard で定義された ColorString 設定
Analytics Dashboard で定義された ColorString 設定

同じ方法を使って、どんな非プリミティブな値でも設定できます。



  • 2017–05–18 公開ページ

  • 2017–05–30 現在、サービスは Unity 5.5 以降と互換性があります。ただし、バージョンの互換性は変更されることもあります。

  • Unity 2017.1 の新機能

Unity エディターでの Remote Settings の管理
Remote Settings スクリプティング