Subsystem Functions
This is a list of all public, Blueprint-exposed functions in the Proto Profiles Subsystem.
The Subsystem is the primary point of entry for all operations you need to do to manage saved data.
Note on Per-Type Functions
There are many duplicate functions per-savefield-type. E.G. GetSavefieldInt, GetSavefieldFloat, GetSavefieldString, etc.
There are also generic versions of these functions as well, which use the FProtoSavefieldSetting struct to store any type of Savefield data. For these, Blueprints must use utility functions to convert between FProtoSavefieldSetting and individual types.
General Functions
Click the categories below to expand their lists.
Load all Global Categories from file and revert all current settings to those values.
Note: Global Savefields are loaded automatically when the engine boots. You only need to use this function if you're doing something advanced.
Load the given Global Category from file and revert all current settings to those values.
Note: Global Savefields are loaded automatically when the engine boots. You only need to use this function if you're doing something advanced.
Save all Global Savefield Categories to file.
Asynchronously save all Global Savefield Categories to file.
You CAN access Global Categories while the async save is in progress.
You can NOT save again while the async save is in progress.
Save the given Category of Global Savefields to file.
Asynchronously Save the given Category of Global Savefields to file.
You CAN access the Category while the async save is in progress.
You can NOT save the Category again while the async save is in progress.
Commit all Global Categories' Savefields' current settings, applying them to the game but not yet saving them to-file.
Commit all Savefields' current settings in a Global Category, applying them to the game but not yet saving them to-file.
Revert any unsaved changes to all Savefields in all Global Categories back to the last value saved to-file.
If changes were committed, they will be un-commiting.
Revert any unsaved changes to all Savefields in a Global Category back to the last value saved to-file.
If changes were committed, they will be un-commiting.
Returns true if any categories are saved for a profile of the given name.
Returns true if the given category is saved for a profile of the given name.
Returns a list of all profiles names with saves.
This will return profiles that have ANY category saved, not necessary all.
Note: potentially a SLOW operation, will cache data to speed up subsequent lookups.
Returns a list of all profiles names with saves for the given category.
Note: potentially a SLOW operation, will cache data to speed up subsequent lookups.
Returns a new generic numbered profile name. Use with SaveProfileAs, if you want to let users save any number of save files.
Returns the next numbered name that will be unique for ALL categories in this profile.
If ALL your profile categories need to stay in-sync across the same profile name, use this. If not, consider using GetNewNumberedProfileNameForCategory instead.
Note: potentially a SLOW operation, will cache data to speed up subsequent lookups of existing profile names.
Returns a new generic numbered profile name, for the given category. Use with SaveProfileCategoryAs, if you want to let users save any number of save files.
Note: The name may NOT be new when compared to OTHER profile categories.
If ALL your profile categories need to stay in-sync across the same profile name, consider using GetNewNumberedProfileName instead.
Note: potentially a SLOW operation, will cache data to speed up subsequent lookups of existing profile names.
For a given Profile, open all Profile Categories to work with (and loads settings from file if previously saved)
Note: Be careful with this function. If your project saves unrelated types of data to different Profile Categories, you probably do not want to use this, and want to use OpenProfileCategory instead.
Use this to create a new Profile save, AND open a previously saved one.
Will not save anything to file! Must call SaveProfileSavefields or SaveProfileSavefieldsCategory to save to file after loading.
Returns Success if ALL Categories open successfully. If the operation is not successful, some Categories may still be open, and you should probably call CloseProfile.
For a given Profile, Asynchronously open all Profile Categories to work with (and loads settings from file if previously saved).
See comment for OpenProfile.
You can NOT access this Profile's Categories while the async open is in progress.
For a given Profile, open the given Category to work with (and loads settings from file if previously saved).
Use this to create a new Profile Category save, AND open a previously saved one.
Will not save anything to file! Must call SaveProfileSavefields or SaveProfileSavefieldsCategory to save to file after loading.
Returns Success the Category opened successfully, or if the Category was already open.
For a given Profile, Asynchronously open the given Category to work with (and loads settings from file if previously saved).
See comment for OpenProfileCategory.
You can NOT access this Profile while the async open is in progress.
For a given open Profile, save all open Categories to file.
Asynchronously save all open Categories to file, for a given open Profile.
You CAN access this Profile's Categories while the async save is in progress.
You can NOT save this Profile's Categories while the async save is in progress.
For a given open Profile, save the given open Category to file
Asynchronously Save a given open Category to file, for the given open Profile.
You CAN access the Category while the async save is in progress.
You can NOT save the Category again while the async save is in progress.
Load all Categories from file for the given Profile and revert all current settings to those values.
Note: Opening a Profile automatically Loads, you don't normally need to call this.
Returns Success if ANY Categories loaded a save file successfully.
Asynchronously load all Categories from file for the given Profile and revert all current settings to those values.
Note: Opening a Profile automatically Loads, you don't normally need to call this.
You can NOT access this Profile while the async load is in progress.
Reports success if ANY Categories successfully load from a file.
Load all Savefields from file for the given Category and revert all current settings to those values.
Note: Opening a Profile Category automatically Loads, you don't normally need to call this.
Returns Success if a file was loaded successfully.
Asynchronously load all Savefields from file for the given Category and revert all current settings to those values.
Note: Opening a Profile Category automatically Loads, you don't normally need to call this.
You can NOT access this Category while the async load is in progress.
Close all Categories that have been opened for a given Profile.
Does NOT save!
To access this data again, you must call OpenProfileSavefields or OpenProfileSavefieldsCategory.
Not strictly necessary to call, but use this to shut down Profiles you are no longer using.
Close the given Category that has been opened for a given Profile.
Does NOT save!
To access this data again, you must call OpenProfileSavefields or OpenProfileSavefieldsCategory.
Not strictly necessary to call, but use this to shut down Profile Categories you are no longer using.
Delete all Category save files for a given Profile, and closes any that are open.
Delete the given Category save file for a given Profile, and closes it if open.
Commit all Global Categories' Savefields' current settings, applying them to the game but not yet saving them to-file.
Commit all Savefields' current settings in a Global Category, applying them to the game but not yet saving them to-file.
Revert any unsaved changes to all Savefields in all Global Categories back to the last value saved to-file.
If changes were committed, they will be un-commiting.
Revert any unsaved changes to all Savefields in a Global Category back to the last value saved to-file.
If changes were committed, they will be un-commiting.
Copy all Category saves (that are saved to file) for a given Profile, and saves them for a new Profile.
To access the new profile saves, you must call OpenProfileSavefields or OpenProfileSavefieldsCategory.
Copy a given Category save (if it's saved to file) for a given Profile, and saves it for a new Profile.
To access the new profile save, you must call OpenProfileSavefields or OpenProfileSavefieldsCategory.
Get the file name that would be used for a given Profile's given Category.
Note: a save file does not need to exist to use this!
Clears the cache of previously looked-up profile save names.
Very unlikely you will ever need to call this.
Should only be necessary if you are manually saving .sav files outside the ProtoSavefields system.
Get the full map of Savefields Data for the given category.
Get the Sub-Category data for the given Category.
Returns true if successfully retrieved and the Category had at least 1 Sub-Category defined.
Returns true if a Savefield with the given name is present in the given Category.
Get a map of Savefields by Sub-Category for a given Category.
Get Widget Data (divided by Sub-Category) for a given Category.
Get Widget Data (divided by subcategory) for a given Profile Category, for a given open Profile.
Get a map containing all Global Categories' Data, keyed by their Names.
This is the static data defined in DataTables, not the settings of any Savefields.
Get a map containing all Profile Categories' Data, keyed by their Names.
This is the static data defined in DataTables, not the settings of any Savefields.
You can always access this data, even if a Profile is not open.
Savefield Functions
Click the categories below to expand their lists.
Get an Savefield's current setting (of any type).
Blueprints must use utility functions to convert between FProtoSavefieldGenericSetting and individual types.
Get an Array Savefield's current settings (of any type).
Blueprints must use utility functions to convert between FProtoSavefieldGenericSetting and individual types.
Set an Savefield's current setting (of any type).
Blueprints must use utility functions to convert between FProtoSavefieldGenericSetting and individual types.
Commit an Savefield's current setting, applying it to the game but not yet saving it to-file.
Revert any unsaved changes to the given Savefield back to the last value saved to-file.
If changes were committed, they will be un-commited.
Bind a handler to a Savefield changing.</i>
Un-bind all handlers to a Savefield changing for a given object.
Set the given Savefield's visibility and editability in menus.
Only valid to call on Savefields that can appear in menus.
Note: If the Savefield is disabled in response to another Savefield's setting, this will not override that behavior.
Get a single Array Savefield's number of entries.
Returns true if data was successfully retrieved.
Get a single Savefield's Data.
Returns true if data was successfully retrieved.
Get an int Savefield's current setting.
Get an int Array Savefield's current settings.
Set an int Savefield's current setting.
Get an int Savefield's min and max value.
If it uses DiscreteSettings, this will be 0 to the number of settings minus 1.
If it uses MinMax, this will be the defined min and max.
Bind a handler to an int Savefield changing.
Un-bind all handlers to an int Savefield changing for a given object.
Update the given Int Savefield with its current value in Game User Settings.
Potentially useful for values like Screen Resolution which can be modified outside of an options menu.
Get a float Savefield's current setting.
Get a float Array Savefield's current settings.
Set a float Savefield's current setting.
Get a float Savefield's min and max value.
Bind a handler to a float Savefield changing.
Un-bind all handlers to a float Savefield changing for a given object.
Update the given Int Savefield with its current value in Game User Settings.
Get a String Savefield's current setting.
Get a String Array Savefield's current settings.
Set a String Savefield's current setting.
Get a String Savefield's min and max length.
Bind a handler to a String Savefield changing.
Un-bind all handlers to a String Savefield changing for a given object.
Get an IntPoint Savefield's current setting.
Get an IntPoint Array Savefield's current settings.
Set an IntPoint Savefield's current setting.
Get an IntPoint Savefield's min and max value.
Note: Both integers in the pair have the same range.
Bind a handler to an IntPoint Savefield changing.
Un-bind all handlers to an IntPoint Savefield changing for a given object.
Update the given IntPoint Savefield with its current value in Game User Settings.
Potentially useful for values like Screen Resolution which can be modified outside of an options menu.
Get a bool Savefield's current setting.
Get a bool Array Savefield's current settings.
Set a bool Savefield's current setting.
Bind a handler to a bool Savefield changing.
Un-bind all handlers to a bool Savefield changing for a given object.
Get a Vector Savefield's current setting.
Get a Vector Array Savefield's current settings.
Set a Vector Savefield's current setting.
Bind a handler to a Vector Savefield changing.
Un-bind all handlers to a Vector Savefield changing for a given object.
Get a CustomSaveObject Savefield's current setting.
Get a CustomSaveObject Array Savefield's current settings.
Set a CustomSaveObject Savefield's current setting.
Bind a handler to a CustomSaveObject Savefield changing.
Un-bind all handlers to a CustomSaveObject Savefield changing for a given object.