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…
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,