Save/Load Game done more easily?

Hello dear community,

I’m currently trying to figure out the best way to create a save game file which remembers “everything”, but the amount of work to do that seems to explode rather quickly.

As someone with a history of programming, I’m familiar with the concept and execution of creating structs to group variables and attach them to a SaveGame object, but there is a lot of data that has to be parsed and reproduced when loading that state.

Example1 - Destructible Meshes: is there a more direct way than remembering “isDestroyed”, save it as boolean, and re-triggering the destruction when loading a game with mesh.isDestroyed == true?

Example2 - Attached components: After picking up (attaching) an object to a player character, it gets a different transformation and parent. I would need to save (at least) an “AttachedToCharacter” variable and recreate this situation (re-attach) when loading the game file.

What I’m trying to find out: is there a more automatic way to remember what I’d like to call the World State - like an imprint of everything that changed in the game since it started?

It seems like a lot of manual (blueprint) work having to reproduce everything that changed since the “beginning” of the game - even more work than implementing the actual game mechanics… :slight_smile:

How is this done in bigger games - does every Actor get notified to add its “stuff” to the SaveGame object?
Does every Actor reproduce its state according to the saved data when it’s loaded?

Thanks in advance,

I think the best thing to do would be to test this with a simple actor. Create a simple actor, and attempt to serialize that actor and see if variables are also saved. I too would like to know about this.