How to Make a Checkpoint & Save System in UE5 Blueprints
Unreal gives you the persistence layer for free — the SaveGame object — so a checkpoint system is really about deciding what state matters and when to capture it. Transform plus vitals at a trigger is the whole minimum viable version.
What it’s made of
Variables
A SaveGame Blueprint class holding the fields you persist (player transform, health, collected flags), a SlotName string, and checkpoint trigger actors in the level.
Events
Checkpoint trigger’s On Component Begin Overlap captures state; the death path (your health system’s OnDeath) loads it back.
The logic
Save: Create Save Game Object (its class pin already types the output — no cast needed) → set its fields from the player (Get Actor Transform, current health) → Save Game to Slot. Load: Does Save Game Exist → Load Game from Slot → Cast To your SaveGame class to read the fields → restore with Set Actor Transform and your Heal/SetHealth path. Death respawn becomes "load last checkpoint" instead of bespoke respawn logic.
Key nodes you’ll wire
The mistake that breaks it
Saving references to live actors. SaveGame persists data, not objects — store transforms, IDs and values, then reconstruct state on load.
New to how Blueprint systems fit together? Read the anatomy of a Blueprint system first.
Or skip the wiring — generate it
BlueprintStudio builds this system from a plain-language prompt — the right nodes, exec and data pins wired, defaults set, and the graph compiled to catch errors — then applies it into your open UE5 editor. The prompt is prefilled:
Build “Checkpoint & Save System” in BlueprintStudioPrompt variations to try
Applying into your editor happens through the free Cosindra desktop app (Windows & macOS).