📺 Watch the full tutorial: https://www.youtube.com/watch?v=_h_d7seszcw
In this step-by-step guide, you’ll learn how to build a simple yet powerful Save & Load system in Unreal Engine 5 using Blueprints. Perfect for beginners, this system stores and restores the player’s transform—and you can extend it to save health, inventory, and more.
Table of Contents
- Introduction
- Prerequisites
- Creating the SaveGame Blueprint
- Implementing Save Logic
- Implementing Load Logic
- Auto-Load on BeginPlay
- Testing Your Save System
- Conclusion & Next Steps
- Resources & Links
Introduction
A robust Save & Load system is essential for any game that wants to preserve player progress. In this tutorial, you’ll discover how to:
- Create a SaveGame Blueprint (
BP_MySave
) - Bind H and J keys for saving and loading
- Store the player’s position (transform)
- Automatically load saves on game start
By the end, you’ll have a reusable blueprint-based solution that you can adapt for any data type.
Prerequisites
- Unreal Engine 5 installed
- Basic familiarity with Blueprints
- A Third Person Template project (or your own project)
Creating the SaveGame Blueprint
- Open your project and click the Content Drawer.
- Right-click in the Content folder → Blueprint Class.
- In the Pick Parent Class dialog, choose SaveGame.
- Name your new class
BP_MySave
. - Open
BP_MySave
, add a variable:
- Name:
PlayerTransform
- Type:
Transform
- Compile and Save.
Implementing Save Logic
- In your
BP_ThirdPersonCharacter
(or any actor blueprint): - Search the Event Graph for
Input Key H
. - Add a comment above this node:
Save
. - Drag off Pressed → Create Save Game Object.
- Save Game Class:
BP_MySave
- Promote the Return Value to a variable named
SaveObject
. - Get Actor Transform (target = self).
- Set PlayerTransform on
SaveObject
using that transform. - Save Game to Slot:
- Save Game Object:
SaveObject
- Slot Name:
"MySave"
- User Index:
0
Implementing Load Logic
- Search for
Input Key J
in the same blueprint. - Drag off Pressed → Does Save Game Exist:
- Slot Name:
"MySave"
- User Index:
0
- Branch on the result:
- True → Load Game From Slot (
"MySave"
, index0
) - False → Print String
"No Save Exists"
- From Load Game From Slot → Cast To BP_MySave.
- Drag off As BP_MySave → Set Actor Transform:
- New Transform:
PlayerTransform
(from cast) - Target: self
Auto-Load on BeginPlay
- In your character blueprint, right-click → Add Event → Event BeginPlay.
- Connect BeginPlay → Does Save Game Exist (same slot
"MySave"
). - Branch and if True, connect to Load Game From Slot and proceed with the same cast & set-transform nodes.
Testing Your Save System
- Play the game:
- You should see “No Save Exists” printed on startup.
- Walk to a spot, press H to save.
- Move somewhere else, press J to load.
- Your character should teleport back to the saved location.
- Repeat to verify consistency.
Conclusion & Next Steps
Congratulations—you now have a working Blueprint-based Save & Load system in Unreal Engine 5!
- Extend this by adding more variables (health, ammo, inventory).
- Secure your save data or implement multiple slots.
- Optimize by adding error handling and user feedback UIs.
If you found this tutorial useful, please subscribe, like, and share. Let me know in the comments what feature you’d like to tackle next!
Resources & Links
- 📺 Full Video Tutorial: https://www.youtube.com/watch?v=_h_d7seszcw
- Unreal Engine 5 Waypoint System – Drop Markers & Measure Distance in Meters – Rambod
- Unreal Engine 5.5 Documentation | Unreal Engine 5.5 Documentation | Epic Developer Community