Settings Registry

With the Settings Registry, you can provide settings and configurations for Open 3D Engine (O3DE) applications and tools.

Settings are stored in JSON files with .setreg and .setregpatch extensions. You can define, query, and change O3DE application settings using JSON Pointer syntax . In the following example, the JSON Pointer path is "/O3DE/CustomSetting":

    "O3DE": {
        "CustomSetting": false

Settings can be merged and modified through JSON Patch or the JSON Merge Patch format files.

You can interact with the Settings Registry in O3DE through the following methods:


Command Line Arguments and the Settings RegistryLearn how to modify the Settings Registry from the command line and access the command line supplied to the application.
Settings Registry Script APILearn the Settings Registry Script API with examples for Python and Lua.
Access the Settings Registry with Console CommandsUse Console commands to read and modify the Settings Registry.
Issue Console Commands from the Settings RegistryLearn how to run Console commands using the Settings Registry.
Output the Settings Registry to Stream with C++Output the Settings Registry to an IO stream with C++.
Settings Registry Developer GuideProvides detailed developer information about the Settings Registry. Settings Registry examples are provided for multiple scenarios. The interaction between the CMake Build Generation system, the Settings Registry, and the Gem Module System are described in detail.
Gem Loading and the Settings RegistryLearn how the Settings Registry is used to load Gem Modules and configure Gem settings.
Settings Registry ChainingLearn how the Settings Registry can trigger imports of other Settings Registry files.
Gem Module systemExplains how O3DE Loads and Initializes Gems in C++.