More advanced checkpoints

Hi, I’m currently in early stages of creating a game. I have a question about creating checkpoints. Does anyone know a method for creating checkpoints that restart the game to the point where the player encountered them?

The easiest way: Use the SaveGame system, when the player first enters the checkpoint area, make a savegame. When needing to restart, re-load the savegame.