Unity Remote Config uses Environments to group settings and rules and deliver specific environments to the client (Unity Runtime Instance) based on the environmentId. If an environmentId is not provided in the request the default environment will be returned to that instance.
In the Unity Editor, select Window > Remote Config to open the Remote Config window.
Use the Remote Config window to manage your Remote Config Environments. Upon initialization in a new project there are no environments automatically created. By default, you will always have at least one environment which will be the Default Environment.
Important: Each Environment has a unique Rules and Settings set. Before configuring Rules and Settings for your game, make sure the proper Remote Config environment is selected in the Remote Config window.
- Maximum of 10 environments per project
- Environment names must be unique
Developmentis a reserved environment name and can not be created by a user.
Working with Environments
Using the Remote Config window, the full set of functionality is present to create, edit, and delete environments. For those who prefer to work outside of the editor the REST APIs or Web Dashboard provide the same level of functionality, if one of those mediums is preferable.
Creating new Environments
To create a new Remote Config Rule in the Remote Config window, click the Create button and name the environment.
Each Environment has three main parameters, the EnvironmentID is required for integration. The parameters are detailed below:
The Name is the readable identifier for the Environment. For example, you might name an environment to match a given build of your game
com.Unity.MyGame@1.1.1; or for a team-member, allowing them to work independently of the settings used by others
Note: The name
Development is reserved and can not be created by a user.
The EnvironmentID is a generated UUID (universally unique identifier) for the environment and is used by the client when requesting the Rules and Settings. The EnvironmentID requested by the client can be set using the method:
To edit a Remote Config environment in the Remote Config window, click the Edit button and rename the environment or set it as default.
The Default Environment is the Environment that will be returned to a Unity Instance when an EnvironmentID is not provided in the request or an invalid UUID is set. For 1.1.0+ package versions, receiving rules and settings from a non default EnvironmentID is possible. This can be done using the ConfigManager API method SetEnvironmentID in the outgoing request.
Example of an environment set as default denoted by the
Checkmark after the is Default: label in the screenshot.
Example of an environment that is not the default environment denoted by the
X following the is Default: label in the screenshot.
Upgrade Notes for Developers using Package Versions < 1.1.x
- Newly created environments will not be useable in older versions of the package <1.1.x
- Upon downgrading those environments other than
Developmentand the environment which is set as the default environment will still exist but not be usable for clients built by package versions <= 1.0.x .
- Upon downgrading to a package version <= 1.0.x, an environment named
Developmentwill be created if it did not already exist. This supports delivery to clients built as Development Builds for those older package versions.
Default Environment for 1.0.x package upgrades
- The environment named
Releaseis set as default when upgrading from an older version of the package.
Developmentenvironment will only be delivered by default Development Builds for packages <= 1.0.x.
Example use cases
Below are some examples of how you can utilize environments for your Project.
Build Specific Environments
Levels or App Sections
Rules and Settings
Once you’ve configured your Environments, continue integrating by creating [Rules and Settings.](Rules and Settings.md)