Is one 'Save Game' class blueprint able to take multiple slots?

Is one SaveGame class blueprint able to take multiple slots?

Or, if we want to permit multiple saves (like in EVE via their character selection UI for example), do we have to make multiple savegame class blueprints and fill all of them with the appropriate variables to store and branch between them?

This may be a half hour after midnight question, but I’m just tinkering around with it and curious to know if that’s possible or not.

https://lh4.googleusercontent.com/-Lch7JU_mO2A/UoEaG45fLYI/AAAAAAAACb0/N2cPiTVcc6c/w1920-h1200/CSS1.png

I’m going to be digging into SaveGame functionality this week, but after what I’ve seen. If you can store the variables in an Array within the GameSave. I don’t see why not. You would just have to array index 1, to release slot 1 Name, Type, and Etc.

The answer is YES, you can have multiple slots in a SaveGame blueprint, which is really nice.

This would be great, I’m still trying to figure out how to save one slot. I saw Muhammad A.Monieum great tutorial but I couldn’t wrap my head around applying this to a save level type feature.

I also saw your great tutorial too SilentX on Respawn checkpoint, maybe I will do some more trial and error and combine these two concepts.

SaveGame won’t save a level, it only saves the values for variables you’ve told it to save.

An example would be a “checkpoint” using CheckPointXYZ (a vector).

In your SaveGame_BP you create a vector named CheckPointXYZ
You get the player location whenever a level trigger is hit or overlapped for the first time.
Then, using a cast, you set or update CheckPointXYZ to match the obtained vector (from the player). I normally do that in the GameState_BP.
Then, you use SaveGame to SlotN to write the SaveGame_BP variables to disk.

You can set up various conditions for controlling the LoadGame in the next session, making CheckPointXYZ set the vector of the player location.
The key condition to include is DoesSaveGameExist? in SlotN.

NB: Instead of using a vector, you could use a Transform (which is a vector and a rotator and some other variable I think) to be more efficient.