Adding New Settings

You can also define new live config settings for your project.

To add a Live Config setting entry, you need to do the following:

  1. Navigate to your project schema under: {project-root}/Config/LiveConfig/Schemas/project.schema.json.

  2. Add your new property at the appropriate with the following fields:

    • type - data type of the config value

      • either string, boolean, number, integer , object or array (of string, boolean, number, or integer types - more details can be found in Using Arrays)

    • description - brief explanation of the config setting

      • displayed alongside your setting in the online editor

  3. Then, depending on the value of type you must add the following field to your config entry:

    • If type is object

      • properties: A JSON object containing a group of Live Config schema entires.

    • If type is NOT object

      • default: The initial value for the setting for a newly started world. (Note: This default value can be overridden on a per-map basis. See this section for details.)

  4. [Optional] You can also add value restrictions on to your values depending on your live config setting type. These restrictions will be checked only when you update live config values in a running cloud deployment

    • If type is number or integer

      • minimum/exclusiveMinimum: The minimum allowed value for the config (exclusive only accepts values strictly greater than the given number).

      • maximum/exclusiveMaximum: The maximum allowed value for the config (exclusive only accepts values strictly less than the given number).

      • multipleOf: Valid for integer type only. Restricts live config setting to allow only integers which is a multiple of the value given.

    • if type is string:

      • minLength: An integer denoting the minimum length of the string.

      • maxLength: An integer denoting the maximum length of the string.

      • pattern: A string of regex pattern that the config string must match.

An example of a correctly defined string type live config setting is the following:

"MyStringConfig":
{
    "type": "string",
    "description": "This is a new live config string!",
    "default": "my live config string"
}

This live config setting can be queried with the project config type and "MyStringConfig" attribute name.

An example of a correctly defined group of boolean and integer type live config setting is the following:

"MyConfigGroup":
{
    "type": "object",
    "description": "This is a new group of live config settings!",
    "properties":
    {
        "MyIntegerConfig":
        {
            "type": "integer",
            "description": "This is a nested live config integer!",
            "default": 25,
            "exclusiveMinimum": 0,
            "maximum": 100
        },
        "MyBooleanConfig":
        {
            "type": "boolean",
            "description": "This is a new live config boolean!",
            "default": false
        }
    }
},

These live config settings can be queried with the project config type and "MyConfigGroup.MyIntegerConfig" or "MyConfigGroup.MyBooleanConfig" attribute names.

Last updated