How To Overwrite a GameInstance from a GameSave

My project has a ton of variables that are relevant for a very long time. As a result the Game Instance variable has a perfect snapshot of everything I need. I can copy the current game instance to a member variable on my Game Save and then save that with no problem. The issue is when I need to restore the data from a save, there does not seem to be any way to overwrite the current game instance with the saved one. Is this just impossible?

Unfortunately I don’t think you can just “set game instance” and hook up your saved one and have “magic” happen. Best way I can think of is to create a function that takes all the variables out of the saved game object and then sets their corresponding variable in the current game instance. Sucks to do but once the function is all wired up you just call it and then kind of “magic” happens haha

My only thought is creating a C++ extension to the GameInstance class and just re-aiming the references, but that’s a lot of work and a lot of potential for disaster, so I just set up the state-sensitive variables on the gamesave object. It would be a good idea for the docs to mention or suggest that objects to be saved on the gameinstance should be stored in a class that is a member of the GameInstance to avoid this issue from jump.

Thanks for letting me know.