Create infinite save slots

hey everyone,

does anyone know how to create a savegame system with a near infinite number of slots? What i am locking for is a way to create a new savegame every time you press new game and then if one goes back to a load game menu to see all savegames in a scrollbox. Sort of like in games like Borderlands or to some extent the elder scrolls/fallout although i only want 1 save per character and not for every single quicksave.
Help would be greatly appreciated because im trying to get this to work for wayy to many hours now.

Start out with a single savegame slot called “names” that contains only an array of the names of each save. Whenever a new character is made, add the character’s name to the array, and whenever one is deleted, remove it from the array.

For each character, make a new savegame slot for that character. This is the actual “save” that contains all the savegame data for that character. Whenever a character is added, make a new slot, and whenever one is deleted, delete their slot.

Here are all the savegame nodes for reference: Save Game | Unreal Engine Documentation

This is what the flow should look like:

  • New Savegame:
    1. Load slot “names”
    2. Add new name to the array and save slot “names”
    3. Create a new slot with that name and save it
  • Load Savegame:
    1. Load slot “names”
    2. Display array of names
    3. After player selects a name, load the slot with that name
  • Save Savegame:
    1. Save the currently loaded slot
  • Delete Savegame:
    1. Load slot “names”
    2. Remove the name from the array and save slot “names”
    3. Delete the slot with that name

first of all thanks for the reply,

Now i think i did what you mean however i cant seem to find out how to tell which button gets pressed to load or delete a saveslot. Is there a way to get the object reference of a button once you click it? Or some other way of finding out what button got clicked?

This is the button that creates new saveslots rn and im not using the saveslot index for anything though i though i could use it for it somehow i failed to figure that out so far.

okay i found out how to do it.

in case anyone has the same problem just use the “reference to self” node