Note: Unity Remote Config is now available as a preview packageA preview* package is in development and not yet ready for production. A package in preview might be at any stage of development, from the initial stages to near completion.
See in Glossary. Remote Config is an improved offering that allows you to change the behavior and appearance of your game without requiring a new binary. You can remotely enable or disable features, change the specifics of your game to target specific audiences, or run special events by scheduling new content releases.*
Use the Remote Settings componentA functional part of a GameObject. A GameObject can contain any number of components. Unity has many built-in components, and you can create your own by writing scripts that inherit from MonoBehaviour. More info
See in Glossary to control the properties of other components in your SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary without writing any code. The Remote Settings component is part of the Remote Settings plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary, which you can download from the Unity Asset Store.
Before using the Remote Settings component, you must enable Remote Settings in your project and should also create your Remote Settings key-value pairs using the Unity Analytics Dashboard.
You can place the Remote Settings component on the same GameObject as another component you want to control, or place it on a different GameObject. The only requirement is that both the Remote Settings component and any controlled components are active in the same Scene.
To connect a remote setting to a component property or field:
Go to Window > Unity AnalyticsA data platform that provides analytics for your Unity game. More info
See in Glossary > Remote SettingsRemote settings are game variables that you can set remotely on your Analytics Dashboard. More info
See in Glossary to open the Remote Settings window.
Choose the configuration (Release or Development) that contains the setting you are going to connect.
Go to the InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary window for the GameObject that you want to hold the Remote Settings component.
Click the Add Component button.
Find the AnalyticsAbbreviation of Unity Analytics
See in Glossary > RemoteSettings script in the list.
Click Add Component to add the Remote Settings component to the GameObject.
To add a new parameter mapping, click the + icon at the bottom of the Remote Setting component’s Parameters list.
Drag the GameObject or the component that you want to remotely control to the parameter’s ObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary field.
Select the property or field you want to control in the parameter’s Field drop-down list.
Choose the Remote Setting Key that you want to use to control this component property or field.
Click the + icon to add additional parameters.
If no Remote Settings Key names appear in the list, open the Remote Settings window (menu: Window > Unity Analytics > Remote Settings) and click Refresh. If your remote settings still do not display in this window, check that you have an Internet connection and that your project is properly set up (see Enabling Remote Settings).
If the wrong keys appear in the list of key names, open the Remote Settings window (menu: Window > Unity Analytics > Remote Settings) and set the Active Configuration to the configuration containing the correct set of keys.
The Remote Settings component cannot set the variables of prefabsAn asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. More info
See in Glossary that Unity loads later in the Scene than the component itself. Similarly, a Remote Settings component that is loaded later in the Scene can only set variables of objects that are part of the same prefab. Use more than one Remote Settings component to handle these types of situations.
You can use the Remote Settings component to set the primitive fields and properties of an object directly. However, to set the variables of an object’s non-primitive members, you do have to write some additional code. The easiest approach is to add primitive-type properties to an object that you can set using the Remote Settings component. Then, implement the setter functions of these properties to update the intended variables of the non-primitive objects.
Code example
In the example below, the class sets the base color of the Material assigned to a rendered GameObject. To do this, the class defines a primitive string-type property that takes an HTML-style color string. The setter for this property parses the string and sets the Material color accordingly.
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);
}
}
}
}
Using the code example
You can add this RemoteColorChanger
script to any GameObject
that has a Renderer
component. You can then use the Remote Settings component to map a setting key to the ColorString
property. In this example, the script is a component of a Cube
object.
The matching key-value pair on the Remote Settings page of your Analytics Dashboard looks like the following:
Use the same technique to set any non-primitive value.
2017–05–30 Page published
2017–05–30 - Service compatible with Unity 5.5 onwards at this date but version compatibility may be subject to change.
New feature in Unity 2017.1
When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.
More information
These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. Some 3rd party video providers do not allow video views without targeting cookies. If you are experiencing difficulty viewing a video, you will need to set your cookie preferences for targeting to yes if you wish to view videos from these providers. Unity does not control this.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.