DEV Community

Katana Works
Katana Works

Posted on Originally published at learn.katanaworks.dev AI-assisted

How to Build a Respawn Checkpoint System in GDevelop


Death without checkpoints is just punishment. Nobody wants to replay an entire level because they clipped a spike at the 90% mark. Here's how to build a respawn checkpoint system in GDevelop using the community Checkpoints extension.

What You Need in Your Scene

Three objects:

Player — your main character
Checkpoint sprite — a flag, glowing disk, star, whatever reads as "progress saved"
Hazard — spikes, pits, enemies, anything that kills the player
Install the Checkpoints Extension


Open your Project Manager → Extensions → click the + button → search "Checkpoints."

Watch out: there's a "Checkbox" extension that shows up in results too. You want Checkpoints, not Checkbox. Installing the wrong one means the actions you need won't exist when you go looking for them.

Save Logic: Store the Player's Position on Contact

Create an event with this structure:

Condition: Player is in collision with Checkpoint

Action: Checkpoints → Save a checkpoint for an object

The save action takes three inputs:


Object: your player
X and Y coordinates: where the player should reappear. Hover over your desired respawn point in the Scene Editor to grab these. Spawning slightly above the checkpoint (e.g., X: 288, Y: -95) prevents the player from clipping into the floor.
Checkpoint Name: a string identifier like "Checkpoint1". This must be in double quotes. Without quotes, GDevelop treats it as an undefined variable and the whole thing silently breaks.
Load Logic: Respawn on Death

Condition: Player is in collision with Hazard

Action: Checkpoints → Load a checkpoint

Use the same player object and the exact same checkpoint name string you used in the save action.


When the player hits a hazard, they teleport back to the saved coordinates instantly.

Pro tip: If you have multiple hazard types, put them all in an object group called "Hazards." One collision event covers every dangerous object in the game instead of duplicating events per spike variant.

Visual Feedback

Players need to know the checkpoint activated. Give your checkpoint sprite two animations:

Off — default inactive state
On — activated state (color change, flag wave, glow, etc.)

Add a "Change animation to On" action to your save event. Now the checkpoint visually confirms the save.


Common Mistakes
Respawning directly on the checkpoint — offset the Y coordinate so the player drops in from above, otherwise they can get stuck in geometry
Forgetting quotes on the checkpoint name — this fails silently, which makes it annoying to debug
Wrong extension installed — Checkbox ≠ Checkpoints
Wrap Up

The whole system is two events: one save on checkpoint collision, one load on hazard collision. The Checkpoints extension handles coordinate management so you don't have to track X/Y positions in variables manually. From here you can chain multiple checkpoints per level, add death animations, or build in a respawn cooldown.

Top comments (0)