Blog

Technical thoughts, troubleshooting, and development notes.

Blog/UE Development

Custom Configuration with DeveloperSettings

Create a class derived from UDeveloperSettings. Config=Game selects Game.ini; adding DefaultConfig selects DefaultGame.ini. The name after config= is the configuration filename, so this example uses DefaultVehicle.ini.

Back
This page's table of contents

UE: Custom Configuration with DeveloperSettings

Creation


Create a class derived from UDeveloperSettings
In the class specifiers, Config=Game means configuration in Game.ini; adding DefaultConfig makes it DefaultGame.ini
The name following config= is the configuration file name
So here the configuration is in DefaultVehicle.ini

ini Configuration Format


The configuration format is [/script/ModuleName/ClassName]

The Map format is ((key,value),(key,value))
Both Map and Array can be continued on subsequent lines using +, rather than writing everything on one line

Editor Project Settings


The value following DisplayName= is the name shown in the editor’s Project Settings

Categories are determined by the value following config=
It can be game, engine, or plugins
You can also use a custom value, which defaults to the engine category

After adding DefaultConfig, changing values here automatically generates the configuration file

Access


Access it through GetDefault in C++

In Blueprints, call GetClassDefaults to access it

Packaging Exclusions


First add the configuration files to exclude in DefaultGame.ini

Then add the reference declaration in the corresponding module, so packaging automatically copies the file into the packaged config directory
The benefit is that you can still change game rules by editing the configuration file after packaging


Thanks for reading. Feel free to like, follow, bookmark, and discuss questions in the comments.
If this article helped you, click here to donate and support the author.