so I’ve created 15 levels, and I want the player to be able to load a level (say level 5) in the level selection menu, only if he’s finished the level. So locked if he hasn’t finished it yet, open if he’s finished it (to get better scores etc).
Now I have a save system in place, where by pressing “continue” you continue where you left off. So my guess would be that it is connected to a blueprint that recognises your savegame. But how would I go about doing this?
There are specific nodes for what you are actually looking for.
There is one that Does Save Game Exist which will allow you to determine if there is a save game that even exists. If it does exist, then you can use Load Game from Slot and cast it to get any relevant information from your save (like which is the last level that was unlocked, etc.)
Without context of how the game save object is setup, I’m just assuming various things within the Blueprint.
First, your slot name should match the one that exists. Since you are checking for if the slot exists by its name, you would want to load the one that exists.
Weird thing is. For example, there shouldn’t be a save checkpoint for my level 9 yet. But if I add level 9, it loads up level 9. Even though I’m doing this from the save system…
Right now, the equation for Current Level Branch is literally getting Level2 == Level2 which is probably not what you want.
You probably want to get Current Level from BP Save Player Progress, feed it into the bottom of the == node and the top just being “Level2”
Your issue is probably the Save Game object, it isn’t saving the Current Level string. Right now, you’re just telling it to set the variable when you get the Save Game Object and reference from there which is probably not the intended function.