Adding new Live Config settings

In addition to predefined Origin Live Config settings, you can also define new Live Config settings pertaining to your projects. These settings will come under the project category. To add a Live Config setting entry, you need to do the following:

  1. Navigate to your Project Live Config schema. This is found in your project directory under {project-root}/Config/LiveConfig/Schemas/project.schema.json.

  2. Add your new live config setting at the appropriate path. Each live config setting entry in the schema must have the following fields:

    • type: The data type of the config value. Either string, boolean, number, integer or object

    • description: A brief explanation of the config setting. This will be 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