Unity Gaming ServicesのRemoteConfig
Unity Gaming Services (UGS)
には、RemoteConfig
というパラメータの調整や機能の有効化を行う機能があります。
事前にゲーム側で対応しておく必要がありますが、配信後のゲームアプリに対して
あとからゲームバランスを調整したり、期間限定イベントを有効にしたりすることが可能です。
RemoteConfigを使用するための準備
UnityEditor
上でPackageManager
を開きます。
- 左側の
雲のアイコン
を選択します。 UGS
用のパッケージが表示されるので、RemoteConfig
を選択します。Install
をクリックします。
インストールが完了すると、UnityEditor
のメニューに「Window
→ Remote 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
を活用すれば、パラメータを変更するだけで対応できることもあります。
また、特定の期間だけイベントを有効にしたり、ユーザーの動向に応じてゲームバランスを調整することも可能です。
事前の対応は必要ですが、いざというときに役立つ便利な機能なので、ぜひ活用してみてください。