I was copying my savegame data over to my game instance when I wondered if I really needed to do that, and if I could just use the structure itself throughout the game, updating that directly, and then saving it without having to copy everything back into a savegame object. I’m not sure if I’m making perfect sense, so if I’m not being clear, let me know and I’ll try to clarify, but the question really boils down to whether I should keep my arrays in my savegame or copy them to gameInstance on load, then copy them back on save.
This is an old question, but I’d like to know this as well!
You can use SaveGame however you want, there is nothing good or bad about the above two methods. You can either get the data directly from disk and write it back, or save it to Game Instance and write it to specific events / locations (you usually see the save icon in games at this point). This was necessary because older discs were slow and players might freeze a little while saving. But this method is still present in modern games.
Personally, I usually combine these two methods when I need to know something, I just get SaveGame of Game Instance without booting from disk, and when I change something, I save to disk and update SaveGame in Game Instance. I hope I answered your question, let me know if you need more help.