Store data through blueprints and levels

Hi,
I’m quite new to all this stuff. I started making a game and realised if I want this thing to be finished one day I need to start doings things the smart way and not just try to figure out things by myself based on the few knowledge of the engine I gathered.

I would like to know what would be the best way to store data to access it throughout blueprints, and also levels?
For example, a way to store which collectibles the player has picked up/unlocked, how many quests are finished, so this data can be accessed in other blueprints such as the dialogue one that changes the text based on what items you have.
Or, in another example use all of the stored data to display a “completion percentage” on the main menu level, based on all of the collectibles gathered in the save file.

You can use Gameinstance Class to save variables to keep tracking them from any level in game this method for game runtime

And you can use game save object by defining a slot to save player progress when he close the game and reopen it

what you will do to define a function can save the information and function to bring them when you need it

let’s say you want to save player transform
then you cast to actor has a function to save it and this function can set variable on gameinstance or game saved

Hey there @Tom3BC! The Admiral is correct! I’d recommend storing your game data in a game instance for when you’re playing, as well as popping your saving and loading system inside of your instance as well, so you can read and write the the game instance’s variables quickly and easily from the save system! Came to drop off some tutorials to augment the Admiral’s perfect answer.

Disclaimer: One or more of these links are unaffiliated with Epic Games. Epic Games is not liable for anything that may occur outside of this Unreal Engine domain. Please exercise your best judgment when following links outside of the forums.

Ryan Laley has a great series on it here: