Hey, I’m wondering if anyone can give some advice with something I’m trying to achieve.
I currently have a robust 1-slot save system where the game automatically saves progress at the end of a level. No saving or loading is handled by the player.
The game is intended for younger children, and family, however. This means I am expecting others to play the same game, such as brothers, parents etc. (without needing a separate purchase) - so I would really love to set up a profile system so they can all play and retain their own progress.
What I’m after creating, is a system where at the start of the game, the user can either load game from their named profile, or create a brand new profile.
So, when the profile selection widget pops up, it’s automatically populated with current save files with the appropriate profile names, which the user can choose to load from the one they want.
Not sure about all the UI setup, but you should be able to create a string variable and plug that in when you save or load. You would need to provide a way for you users to set a name when they start playing or if you expect people to play on different profiles (such as iOS) , you would need a way to get that name.
A Save Game class that houses all the player data and a Save Game class purely to remember the names of the profiles.
I’ve set it up so that the user enters their name and it is saved permanently.
The main issue is having multiple save slots.
I tried using different UserIndex per save slot, but it seems that it makes no difference and it still overwrites the same save.
So I did it with the Save Name instead.
This worked and saved multiple files, and I set it so that whenever the game is loaded for variables, it gets the name from the save game class. This name is then changed (and saved again) when the player loads a new profile. Sadly this hasn’t worked, since the BPs that are loading seem to get confused and no longer load at all.
Apologies if I’m making no sense, it’s hard to articulate the script. I can’t get screenshots currently.