I am trying to get a custom configuration category to work, I have:
UCLASS(config = Hello, defaultconfig, meta = (DisplayName = "Hello"))
class HELLO_API UHelloSettings : public UDeveloperSettings {
GENERATED_BODY()
public:
UPROPERTY(config, EditAnywhere, Category = "Hello")
TMap<uint32, FString> Data;
};
provided by a custom plugin in “Plugins/Hello”.
The configuration can be edited in “Project Settings > Hello” as expected (UDeveloperSettings registers the menus correctly).
The changes are saved in Config/DefaultHello.ini as expected.
Then the configuration can be retrieved with the following method
UHelloSettings const* Settings = GetDefault<UHelloSettings>();
When I run my game from the editor, the configuration values are also as expected and correspond to to the configured values under “Project Settings”.
My problem now is that when I run the game as a “Standalone Game”, which spawns a separate exectutable, the configuration values are not loaded correctly into UHelloSettings.
It seems like the class is default constructed.
If I manually add the settings to “Saved/Config/WindowsEditor/Hello.ini”, the settings are loaded correctly even
when I run it as a standalone game. However, this is not a valid workaround, since “Saved/Config/WindowsEditor/Hello.ini”
is automatically generated and should only show the difference between the current platform and the default settings.
Similar problems have been observed before, see How do you create and use a default custom config file for a plugin? .
Has anyone gotten a custom configuration category from a plugin to work completely?
Is there something I’m missing?
Or could it be that Unreal only supports a fixed set of configuration categories?