Is it possible to customize world settings for each map?

Don’t know if it is relevant for you, but for the others new projects.

Yes, you can have indirectly custom WorldSettings.

If you know the concept of instanced UObjects you can extend the UWorldSettings with your game specific one.
On an instanced uproperty you select the UClass you want to instantiate, and get properties to fill that specific one.

Below is a quick code, haven’t tested it. But should work.

UCLASS(EditInlineNew)
class UMyBaseSettingsForIndividualLevelSettings : public UObject
...

UClass()
class AMyCustomWorldSettings : public AWorldSettings
{
...
    template<typename T>
    T* GetLevelSettings()
    {
        return Cast<T>(LevelSpecificSettings);
    }
...
    UPROPERTY(Instanced, ...)
    UMyBaseSettingsForIndividualLevelSettings* LevelSpecificSettings;
...
}
1 Like