From cradle to grave - game flow

SaveGame is something that’s been on my mind too. Unfortunately, like many things, I dwell too much on the concepts before just trying it out. In another thread I got link which might help (which you’ve probably already seen, but linking for anyone else): Saving and Loading Your Game in Unreal Engine | Unreal Engine 5.2 Documentation

I’m almost thinking an Enum list of levels might be more of a “is the latest level the player completed” sort of thing. Like maybe in the SaveGame there would be a variable “LatestCompletedLevel” which would get updated to 1, 2, 5, etc., based on the Enum value. Then I figure there’d have to be something that looks at value from the savegame, says to itself “So, they cleared level 4, let’s load up level 5”. Then it has some other kind of reference to look at to figure out which map is level 5, maybe the Enum itself has the mapname. Thinking it shouldn’t make a new savegame for each enum, in fact if I’m reading some things right, unless you specify otherwise it’ll just save to a “slot01” kind of thing, where you might have to manually configure it to save for slot02 and on. So with each level save it would just overwrite the previous savegame file.

But, I also am having some difficultly putting it into practice, or at least *seeing *the flow of data. Before I was thinking it would be cleaner to have a single class, like GameMode, gather all the savegame data and handle committing it to a savegame file. Then I thought it might be better to have each controller save data for each individual variable pertinent to themselves…but when I imagine that, I imagine classes all over the place trying to write data to the savegame all the time and something about that idea bothers me. Overthinking it most like.