Persistence Strategies
Persistence Strategies determine how settings are saved and loaded. Select the strategy from the dropdown when configuring a Setting Type.
Config File Strategy
Saves settings to Unreal Engine .ini config files.
This is the recommended default for most use cases. Settings are saved to .ini files and automatically persist across sessions.
Default configuration:
- File:
UserSettings.ini - Section:
[Settings]
File location depends on build type:
- Editor:
<Project directory>\Saved\Config\<Platform> - Development/Debug:
<Package directory>\Saved\Config\<Platform> - Shipping:
AppData\Local\<Project name>\Saved\Config\<Platform>
You can customize the ini file name and section in Project Settings → Auto Settings.
Some console platforms don't persist .ini files over sessions. For these platforms, developers are expected to use save files. In that case, a custom save file integration is recommended.
Custom strategies
You can create custom C++ or Blueprint strategies for specialized needs like save game integration, cloud saves, or databases.
Creating a custom Persistence Strategy
To create a custom Persistence Strategy in Blueprint:
- Create a new Blueprint class that inherits from SettingPersistenceStrategy
- Override OnSave - this is called when a setting value should be saved
- Event parameter contains the setting reference and value to save
- Store the value in your persistence system here
- Override GetSavedValue - return the saved value for a setting
- Setting parameter identifies which setting to load
- Return the saved value as a SettingData struct
- Return invalid data if no saved value exists
- Select your custom strategy in the Setting Type's Persistence Strategy dropdown
Example use cases:
- Save game integration (store settings alongside player progress)
- Cloud save systems (sync settings across devices)
- Console platform save file requirements
- Database or external storage systems