Default configuration values not visible in project settings

I have a settings class defined like this:

UCLASS(config=Game, defaultconfig)
class ELBAUDIOFPS_API UElbAudioSplineVolumeConfig : public UDeveloperSettings

I modified the settings in the project settings, then copied the resulting change out of MyProject/Config/DefaultGame.ini and into /MyProject/Plugins/MyPlugin/Config/DefaultGame.ini

When I then run the editor and open the project settings window, none of the settings have any values.

Have I misconfigured this somehow?

Is this a limitation of project-plugins, and I should move my plugins into the engine? (Looking at ConfigHierarchy.h, there doesn’t appear to be any information regarding limitations like that)

[Attachment Removed]

Hi,

Plugins uses their name in the naming of their config file:

  • Engine plugins: [PluginName]/Config/Base[PluginName].ini
  • Game plugins: [PluginName]/Config/Default[PluginName].ini

The plugin settings will have their own custom section in the editor. The config keyword in the UCLASS definition decides where the data will be saved in the project config folder.

https://dev.epicgames.com/documentation/unreal\-engine/plugins\-in\-unreal\-engine?application\_version\=5\.6\#anatomyofaplugin

Regards,

Martin

[Attachment Removed]

So I’ve tried this too and that also doesn’t work :frowning:

I now have my config file as MyProject/Plugins/MyPlugin/Config/DefaultMyPlugin.ini

And the values still aren’t visible in the project settings.

Also, on a related note, the information listed under “Anatomy of a Plugin” isn’t available anywhere here: https://dev.epicgames.com/documentation/unreal\-engine/configuration\-files\-in\-unreal\-engine?lang\=en\-US\#configurationfilehierarchy

It would be great if the section on plugins in the configuration files doc could be expanded with some of the relevant info from the plugins doc you linked me.

Finally, there’s this warning under “content in plugins”:

At present, Plugin configuration files are not packaged with projects. This may be supported in the future, but currently requires manually copying the files to the project’s Config folder.

Does this mean that any values that are only set in a plugin-level config won’t propagate to the final cooked game (without a manual copy)? Doesn’t that kinda negate the point of plugin-level config files, or worse, cause the problem to be masked behind the config files we _do_ create?

[Attachment Removed]

The settings should be visible in the project settings as long as the plugin is activated. In the case of the shared definition, they will end up under “Game - Elb Audio Spline Volume Config”. You might want to add a DisplayName tag to make it look nicer.

UCLASS(config=Game, defaultconfig, DisplayName = "Audio Spline Volume")Any user edit will end up in DefaultGame.ini. In this case, the plugin settings will not be read as the config point to the Game settings.

If you want to specify defaults at the plugin level, you can change the config tag to use the plugin name which will tell the engine to look for the file under the plugin config folder. Edits from the editor will result in the creation a DefaultMyPlugin.ini at the project level.

UCLASS(config=MyPlugin, defaultconfig, DisplayName = "Audio Spline Volume")In this case, the settings will be located under “Engine - Audio Spline Volume”

The documentation is confusing. The default settings from the plugin are part of packages.

I’m attaching a test plugin I created to validate the behavior in version 5.6. The settings will appear under Engine - Test Developer Settings and you can see that the My Int Prop Zero is initialized from the value in the plugin’s config.

[Image Removed]

Please share a test project if this doesn’t work for you.

Regards,

Martin

[Attachment Removed]