How Checkpoint works?

Hello everyone… I’m developing a 2D plataformer game on Unity, and my question is: How work the checkpoint system on the other games?

Because I’ve already done the checkpoint like dying, and respawn on the checkpoint position, but what about the monsters I killed? and some puzzle I started to do…
I can’t just reload the level, because I can’t reset monster and puzzle that I’ve already passed before the checkpoint.
I don’t know if I was clear enough… Sorry my bad english and thanks!!

Typically a checkpoint does reset the puzzles and monsters prior to that point. It uses an object with Don’tDestroyOnLoad to save a couple variables like position, point, lives, etc. That would allow you to reload the level and keep important changes. The games that use this method usually don’t require the player to go backwards.

You could add in booleans to the checkpoint system and have puzzles/monsters check their state at the start, but at that point you might as well implement a game saving script. It would collect data and export it to a textfile that could be loaded back in at the start. I’ve used this in the past. It’s good for most cases, but if you’re into coding I would recommend writing your own. Saving and Loading data