Best way to handle save/load system in UE5 for open world projects?

Hi everyone,

I’m building an open world game in Unreal Engine 5, and I’m looking for guidance on creating a reliable save/load system.

Specifically:

  • How do you handle saving actor states across large streamed levels?
  • Should I manually track each actor’s transform and data, or is there a better approach using level streaming and World Partition?
  • Are there recommended patterns or plugins for this kind of system?

I’d love to hear what others are doing for large-scale games. Any advice or examples would be greatly appreciated!

Thanks in advance!

Sharing recent discussion about it:

How to simply spawn Actor variable? - #10 by Roy_Wierer.Seda145

for open world the pattern that scales is per-actor save structs (class + transform + custom data) keyed by GUID, one slot for player/global state, and destroy-and-respawn streamed actors from the structs on load. world partition wont persist runtime changes for you, that manager layer is mandatory. track transforms only for things that moved or the files balloon.

thats a lot of upfront work which is why people reach for plugins here. Advanced Save System, a save/load system plugin for Unreal Engine 5, does slots + automatic serialization + async + encryption and cloud saves in BP and C++: Advanced Save System. its on sale ($23.93).