I was going to charge for this but after a recent scare of lost files and having to put in my tax data on unreal, ugh, I'm just going to release this for free!

My save game object can hold multiple primitive values and objects. I wanted a way to save a lot of data into one file from multiple objects and this is what I came up with. The UnrealSavingExample.jpg contains the examples that I will be explaining here.

Click image for larger version

Name:	UnrealSavingExample.jpg
Views:	1
Size:	891.1 KB
ID:	1165831

//The following are descriptions on Loading / Saving

-Load File (Example press 1)
This will load the file with the same name as FileName if it exists. If it does not exist, it will return a blank BP_SavedGame object. NOTE: The wiring is incorrect in the example, if Success is false their is no save object returned.
@FileName: The file name of the save object.
@UserIndex: I really don't know but it's wired to unreal so will work as is.
@Success: Returns false if cast to BP_SavedGame failed.
@SaveObj: The save object that was loaded or created.


-Save File (Example press 6)
Saves the BP_SavedGame object to a file.https://www.dropbox.com/s/5zyuaw0wm2...Saving.7z?dl=0
@SaveObj: The save object to save.
@FileName: The file name to save SaveObj to.
@UserIndex: I really don't know but it's wired to unreal so will work as is.
@Success: If saving succeeded.


//The following are on descriptions of BP_SavedGame object functions.
//All of the Get functions and the Set functions are grouped together and do the same thing.

-Get(Float, Byte, Object, etc) (Example press 2 or 3)
This will find a variable with the same name as VariableName under the unique ID given. Different Unique ID's can have similar VariableName's. WARNING: Be sure to load the same type of data. Don't mix data types as their is no guarantee that you will get the same value each time or that it will even be in bounds of the array!
@Target: The BP_SavedGame object to modify/read.
@UniqueID: The unique ID for a set of variables.
@VariableName: The variable name to load.
@DefaultValue: The value to return if no value is saved.
@Success: False if no value was found and the default value was returned.
@Value: The returned value.

-Set(Float, Byte, Object, etc) (Example press 4 or 5)
Inserts the value into the BP_SavedGame object's array.
@Target: The BP_SavedGame object to modify/read.
@UniqueID: The unique ID for a set of variables.
@VariableName: The variable name to load.
@Value: The value to set.

//Internal functions

-HasUniqueID
Determines if the BP_SavedGame object has the Unique ID stored and it's index. On fail index returns -1.

-HasVariableSet
Checks if the variable is set and returns it's index. On fail index returns -1.




You can download it from my Dropbox here. (Dropbox file is in 7-Zip file format.)

I'm not charging anything for this but if you would like to donate BTC, my address is:
1NbJLJ4phUwDUt8ENhAcE83WDgGLgT79Xz

I'm not sure if donations are allowed so if it's not, admins you can remove it or message me or whatev.
Thanks for reading!