Save system

Hi, I want to create a save system using Blueprint, I want to use only the continue and new game keys through the widget, I want the game to start on the player start when I press the new game button, and when I press the continue button, I want the character to continue at the last ceckhpoint entered. And the ceckhpoint is an actor. The continue button must be invisible or unpressible when there is no new game. There are enemies and scenes in the game, after passing them or killing them, they should be saved as well, can anyone who knows please help me to do this.

If you use two levels you have to use the ‘Game Instance’ blueprint else If you the same level then create a ‘Save Game’ blueprint and create variables which includes the location of the check point and cross refer it by refering from any youtube tutorials

There are two levels, one of them is the main menu, but can you be more descriptive because I looked at many videos on how to make a save system on youtube, but unfortunately none of them were exactly what I wanted, And how to use the game instance and how can I run them with the buttons on the widget I don’t know.

One way you can do this is by going into your main menu widget, select the Continue button you made, then in details/search bar type Visibility and choose hidden. Now in your main menu widget Event construct add a check to see if a save game exists or not. If a save game exists, then get the Continue button, from it extend Set Visibility node, and choose Visible. On the false branch you don’t need to do anything, as the button will already be hidden.

image

In this example Does Save Game Exists is a function that checks if a save game exists and returns true or false.

As for this, here is a video made by someone on how to create a save game. Change it on what you want to be saved.

Thanks for the invisibility of the button, but if I come to the video, I saw this video and used it, but I don’t want the player to press a button and save. I want it to auto save as it enters the Chekpoint.

Then on your checkpoint add a collision box, and inside OnActorBeginOverlap check if the actor that overlaps with it is the player, in which case call the save game function. That way if a mob overlaps with it, a save game isn’t created. If it the player then you should also destroy or at least disable it for a period of time, so that in the case the players exits the overlap area and immediately enters back, a save game isn’t crated.

I think let’s do it one by one. When I press the new game on the widget, how do I create a new save file and make my character start on player start. Something like the Check Poin system is ready, it can start from the same place when the character dies or exits the game, but when I press the new game, it starts from the same place again, this has to start from the player start and the game needs to be reset, then when I press continue, it needs to continue from where it left off.

If you don’t have a player customization at the start of the game, then you don’t need to create a save file when the players presses “New game” as there is nothing to be saved.

In your Level 1/Map 1 equivalent, add a Player start node and change the game mode to what you need. When the level is loaded, UE knows to automatically use that as the player start.

Because the checkpoints are ready, my character does not start the player at the start, it starts from where the checkpionts are.

Your checkpoints shouldn’t be Player start nodes, as the player location will be saved inside the save game, and when loaded, the player will be placed there.

How do i check that if it s a player start node.

Did you used one of these in your checkpoint?


This is a Player start. I’m using UE5, in UE4 the graphics are similar.

No, I didn t use,
chek points are a separate actor, player start is only available at the beginning of the game.

Well then I can’t help without knowing what you actually used, and this discussion is getting long and we should only post useful stuff here. Send me a private message if you want to continue there.