Game Checkpoints

Hey there!
Is there any way to add game checkpoints that I can load back to at anytime?
Ex: Player walks over checkpoint, on clicked Load Last Checkpoint in pause menu it loads from that spot, and in the main menu I can load from any checkpoint in the game (Like if I have unlocked 1 2 and 3 I can load from either 1 2 or 3). I also want it to reset actor positions that were updated after the checkpoint, and maybe have it in a different save slot.

Thanks!

Hi there,

Why not use a structs for checkpoints? You can create a Data Asset for each checkpoint like

  • CheckpointNameID
  • CheckpointLevel
  • CheckPointTransform

etc. and on trigger you can save this to slot or add to player’s checkpoint DataAssetArray . In UI simply iterate through and display player availablle ones, OnClick->GoToCheckPoint(DataAsset(n))

In other terms

CheckPoint → SaveGame (UnlockedCheckPoints(ThisCheckPointStruct))
UI/LoadGame : UI->Shot( SaveGame->Load->UnlockedCheckPoints)
OnClick : Open Level - > Teleport Player → VFX and so on .. however this part would need special attention depending on the game, open world, streaming, level, wait other actors if any etc. so can need more logic depending on your systems.

I would start by creating save games that you can create and load to restore your game’s state at any point. Even if this won’t be a user facing feature, it will be useful for development.

Then when you have that, checkpoints simply become save data that you create but don’t write to disk. You just keep a reference to them somewhere (like in the game instance). And when you load a checkpoint, you use the save you already have in memory instead of needing to load it from disk first.