
【試してみた】Unity Remote Config
どうも、デザイニウムのインタラクションデザイナーMIZUTANI KIRIN(@mizutanikirin)です!今回は、遠隔でブラウザ/Editorから起動中のアプリの数値を変えられる「Unity Remote Config」を試してみました。
使ってみての感想
- Unityサイトで数値を変えるのでネット接続環境でないとできない。
- スマホで数値を変えたいときビルドしなくても良いので開発中はかなり使える。
- アプリを起動した状態で数値が変えられるのが良い。(ただしアプリ側で定期的にデータ更新有無のチェックはしないといけない。)
- ブラウザからアプリ側への数値変更はできるがその逆はできない。デスクトップアプリでローカルxmlと併用する場合は「ローカルxmlから設定できる数値」と「RemoteConfigで変更する数値」は別に分けて管理した方が良い。
- お客様用のUnityのアカウント作成してお客様の方で遠隔更新してもらうということもできる。
導入方法
環境: Unity version: 2018.3 以上
EditorのWindow > Package Manager からRemote Config を選択してInstallします。
使い方
- Unity公式 (English)
https://docs.unity3d.com/Packages/com.unity.remote-config@1.0/manual/index.html
https://www.youtube.com/watch?v=qw3rshPgTDo
- 日本語でわかりやすい
https://kan-kikuchi.hatenablog.com/entry/UnityRemoteConfig
コード
using UnityEngine;
using Unity.RemoteConfig;
using UnityEngine.UI;
public class RemoteConfigTest : MonoBehaviour {
public Text testText;
private int var0;
private bool var1;
public struct userAttributes {
}
public struct appAttributes {
}
void Awake() {
// Add a listener to apply settings when successfully retrieved:
ConfigManager.FetchCompleted += ApplyRemoteSettings;
// Set the user’s unique ID:
//ConfigManager.SetCustomUserID("Test1");
// Fetch configuration setting from the remote service:
ConfigManager.FetchConfigs<userAttributes, appAttributes>(new userAttributes(), new appAttributes());
}
// Start is called before the first frame update
void Start()
{
}
void ApplyRemoteSettings(ConfigResponse configResponse) {
// Conditionally update settings, depending on the response's origin:
switch (configResponse.requestOrigin) {
case ConfigOrigin.Default:
Debug.Log("No settings loaded this session; using default values.");
break;
case ConfigOrigin.Cached:
Debug.Log("No settings loaded this session; using cached values from a previous session.");
break;
case ConfigOrigin.Remote:
Debug.Log("New settings loaded this session; update values accordingly.");
var0 = ConfigManager.appConfig.GetInt("var0");
var1 = ConfigManager.appConfig.GetBool("var1");
break;
}
testText.text = "var0: " + var0 + System.Environment.NewLine + "var1: " + var1;
}
// Update is called once per frame
void Update() {
ConfigManager.FetchConfigs<userAttributes, appAttributes>(new userAttributes(), new appAttributes());
}
}
The Designium.inc
・インタラクティブサイト
・Twitter
・Facebook
編集後記
こんにちは、広報のマリコです!デザイニウムは主に東京と会津の2拠点で活動していますが、お仕事は有り難いことに全国から頂いており、最近は海外のお仕事も頂くようになりました(感謝!)今回の記事はUnityの「Remote Config 」、つまり遠隔で操作ができるというものでした。このようなサービスを活用することで、遠方のお客様とのやり取りもスムーズになりそうですね!今後ますますこのようなサービスは需要がたかまってきそうです。