A checkpoint will let us make the player reset to the last location that they were at when they hit a checkpoint.
To get started, open up your unreal engine project. Open up your character (for me the third person character). Create a vector variable, and name it checkpoint.
After you do this, go back to the main editor and create a score by right clicking, and pressing blueprint, then actor.
Open the actor you just made, press the green add component button, and select cube. Make the cube how you want. I made mine more flat. On the right, in the collision settings, change the collision preset to overlap all dynamic. After this, go to the event graph tab in the top menu, and from event begin overlap, cast to your player (for me third person character). For the object, get player character. As your player, set the variable you made before (checkpoint). Drag getactorlocation into the location that you are setting the variable to. It should look like the picture below.
Once you do this, go back to your editor, and drag your actor into your map in a few different spots. We now need a way for the player to reset. A simple way to do it is to get a box trigger from the left bar (near cubes and planes). Make the box trigger as big as you want, then, while you have it selected, open your level blueprint, and do event begin overlap, and then cast to your player (for me third person character). Get player character for the object. As your player, get the checkpoint variable. Hook that into a teleport node. Pull the “as your character” output into the object input for the teleport. It should look like the picture below.
Now, everything should work, try it out!
You can download the source code for this project. get it here.