To respawn a player at the latest activated checkpoint in GDevelop, save the checkpoint’s X and Y coordinates to scene variables when the player touches it, then set the player’s position to those saved values when the game’s death event occurs. Initialize the variables from the player’s starting position at the beginning of the scene so an early death does not send the player to (0, 0).
1. Create and place a checkpoint
Create a Sprite object named Checkpoint, assign it an image, and place one or more instances in the scene. The image can be any visual that suits the game; the object’s role is to act as a trigger when the player touches it.
As an Amazon Associate I earn from qualifying purchases.
For platformer movement, GDevelop recommends using the Platformer character behavior for the player and the Platform behavior for platforms. These handle platform movement and collisions; collision events are still useful for interactions such as touching a checkpoint or enemy. See GDevelop’s platformer tutorial.
2. Save the checkpoint coordinates when touched
Add an event with a Collision condition between Player and Checkpoint. In its actions, set two scene variables to the checkpoint instance’s coordinates:
#1 Best Overall
- Set scene variable
CheckpointXtoCheckpoint.X(). - Set scene variable
CheckpointYtoCheckpoint.Y().
GDevelop’s coordinate expressions return an object’s X and Y positions. The official checkpoint tutorial uses this pattern to remember the most recently touched checkpoint.
3. Initialize a safe starting position
Before the player activates any checkpoint, the saved coordinates need a usable value. Add an event with the At the beginning of the scene condition, then set:
Rank #2
CheckpointXtoPlayer.X().CheckpointYtoPlayer.Y().
Without this initialization, the coordinate variables have not yet been assigned when the scene starts. GDevelop’s tutorial notes that an earlier death can therefore send the player to (0, 0), which may not be a safe place to appear.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minute4. Connect the death event to the respawn
A death condition and the respawn action are separate parts of the event logic. GDevelop’s example uses a collision between Player and a Slime enemy. In that death event, remove the action that deletes the player and add an action that sets the player’s position:
- Set
PlayerX position toVariable(CheckpointX). - Set
PlayerY position toVariable(CheckpointY).
Use the same position action for any other event that should cause a respawn. The official example demonstrates enemy collision; it does not provide a fall-below-the-level condition or a complete death-screen and replay flow. If falling should count as death, create a boundary or other fall-detection condition in your own scene and connect that condition to these same position actions.
5. Make the landing point fit the player
This method saves the Checkpoint object’s coordinates and applies them to the Player. It does not automatically align the player’s feet with a platform or center the player over the checkpoint artwork. If the saved point is not a good landing position, adjust the checkpoint object’s origin or save an offset position instead. Test the result with the actual sprite sizes, origins, and collision shapes used in the game.
Rank #4
How to handle several checkpoints
For a straightforward level, saving the coordinates of whichever checkpoint the player most recently touches is the simplest approach. If the game needs to remember or refer to a particular checkpoint instance later, a unique ID is one possible alternative: assign each checkpoint an object variable such as ID, save the activated checkpoint’s ID in a scene variable, and use that value after death to select the corresponding checkpoint.
Recommended Free Tools
A 2025 GDevelop forum discussion describes this ID-and-scene-variable pattern as a community example, not as a guaranteed or official event-sheet recipe. See the discussion about falling and respawning at a checkpoint and the discussion about using many checkpoints. Choose between direct coordinates and IDs based on whether the game needs checkpoint identity after activation, how many checkpoint instances it uses, and where the player should appear relative to each one. Verify the event logic in the current editor before relying on a community implementation.
Best Value
What about GDevelop’s Checkpoints behavior?
GDevelop’s platformer tutorial mentions a Checkpoints behavior as another way to make the task easier, but the cited tutorial does not include setup steps for it. The coordinate-variable method above is the documented event-based workflow.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




