How to properly set up a save/load system in UE5?

Hi everyone,
I’m trying to build a simple save/load system using Blueprints in Unreal Engine 5. My goal is to save the player’s location, health, inventory, and quest progress. I’ve followed a few tutorials online, but I keep running into issues – sometimes the data doesn’t load correctly after restarting the game.

Here’s what I’ve done so far:

  • Created a custom SaveGame class

  • Saving variables using SaveGameToSlot

  • Loading using LoadGameFromSlot in the GameInstance

My questions are:

  1. What’s the best practice for organizing save/load logic across different Blueprints (e.g., Character, GameInstance, Level Blueprint)?

  2. How should I handle saving complex data like arrays of items or quest states?

  3. Is there anything specific in UE5 that I should be aware of compared to older versions?

Any advice, sample Blueprints, or links to updated documentation would be really appreciated!

Thanks!