Unity Gaming ServicesのRemoteConfig

Unity Gaming Services (UGS)には、RemoteConfigというパラメータの調整や機能の有効化を行う機能があります。

事前にゲーム側で対応しておく必要がありますが、配信後のゲームアプリに対して

あとからゲームバランスを調整したり、期間限定イベントを有効にしたりすることが可能です。

RemoteConfigを使用するための準備

UnityEditor上でPackageManagerを開きます。

  1. 左側の雲のアイコンを選択します。
  2. UGS用のパッケージが表示されるので、RemoteConfigを選択します。
  3. Installをクリックします。

インストールが完了すると、UnityEditorのメニューに「WindowRemote Config」が追加され、

Remote Configウィンドウを開くことができます。

RemoteConfigで出来ること

Remote Configウィンドウの下にある**「Add Setting」**ボタンをクリックすると、新しいパラメータを追加できます。

Remote Configのパラメータには、以下の型を選択できます。

  • string
  • bool
  • float
  • int
  • long
  • json

ゲームの内容に応じて適切な型を選びましょう。

「Push」ボタンを押すと、設定した内容がダッシュボードへ反映されます。

「Pull」ボタンを押すと、ダッシュボード上で編集した設定を取得し、ローカルで編集できるようになります。

RemoteConfigを取得する

Pushしてダッシュボードへ反映済みの設定は、以下のコードで取得できます。

private struct UserAttributes { }
private struct AppAttributes { }

private async void Fetch()
{
    RemoteConfigService.Instance.FetchCompleted += response =>
    {
        Debug.Log("Fetch completed");
    };
    await RemoteConfigService.Instance.FetchConfigsAsync(new UserAttributes(), new AppAttributes());
    
    Debug.Log($"Setting0 : {RemoteConfigService.Instance.appConfig.GetString("Setting0")}");
}

事前にサインインした状態でFetchConfigsAsyncを呼び出すと、RemoteConfigの設定を取得できます。

引数として構造体を渡せますが、今回は使用しないため、空の構造体を用意して渡します。

取得が完了するとFetchCompletedが呼ばれるため、事前にコールバックを設定しておくと完了のタイミングを検知できます。

取得後はRemoteConfigService.Instance.appConfigから設定内容を参照し、以下のメソッドでパラメータの値を取得できます。

  • GetString
  • GetBool
  • GetFloat
  • GetInt
  • GetLong
  • GetJson

取得した値をゲームに反映すれば、配信後のゲームでも動作を変更可能です。

例えば:

  • イベント期間中のみtrueになるbool型のパラメータを用意
  • スコアボーナスの割合をRemoteConfigで管理し、リアルタイムに調整
  • 初心者向けにHPを多めに設定

このように、RemoteConfigを活用すると柔軟な調整が可能になります。

まとめ

今回はRemoteConfigについて解説しました。

モバイルアプリをリリース後に調整が必要になった場合、ストア審査などの手間が発生しますが、

RemoteConfigを活用すれば、パラメータを変更するだけで対応できることもあります。

また、特定の期間だけイベントを有効にしたり、ユーザーの動向に応じてゲームバランスを調整することも可能です。

事前の対応は必要ですが、いざというときに役立つ便利な機能なので、ぜひ活用してみてください。

🔗関連ページ