Save load system

Hi
Is there anybody that has program a save/Load game in blueprints
that is more than just the health and player position, most of the videos on you tube
are so basic and almost clickbait, or the important systems hidden behind a play wall
nobody out there able to make a video course areal save/load game. I have tried Ryan Laley/Ali Elzohery.
This is what I need to learn saving weapons attached, doors that are open, remove actors that have been picked up, keep the Inventory Items even after changing a Level.
(I know put them in an array) but even that is to generic.
Somebody here must have completed a Game with a save/Load system completed.

Please help me take the next step!

1 Like

The thing is with the save game, is it’s basically a ‘bucket’. You can put stuff in, and get stuff out. That’s it.

Everything else, is totally up to you. How you decide you’re going to save weapon status, ammo status, doors that are open etc, is all personal choice. That’s why there’s no overarching tutorial.

I can tell you a few simple rules of thumb

  1. Write BP objects so that they save and load their own details. Don’t try and manage the whole situation from the level BP, it will be a nightmare.

  2. Only save generic engine types in the save game. If you save user types or references to user types, you will end up making networks of references between your save game and just about everything else in the game. You won’t be able to load anything without everything else coming with it.

  3. If you can, it might be best to avoid structures and arrays / maps of structs. I see a lot of people having problems with the save game and structs re-initializing.

So to quickly cover your list

A door BP, when opened, it will write to the save-game. Next time you run, the door checks the save game on begin play, and opens itself.

Same with the destroyed actors. They need to be a BP, and it works the same way.

For the weapon, it could be the weapon remembers it was being used and re-attaches itself. Or the player might manage this situation.

Inventory items can be passed from one level to another using the game instance, but why bother? You have to implement it into the save game anyway, so you can just use that when you change levels. It works the same way as everything else. When you change the inventory, just update the save game.

1 Like

this surprises me, i dont know how to save complex data without structs :open_mouth:

1 Like

I save a lot of stuff for the game, never use structs. True, it does depend what sort of data it is.

I find structs are very messy to work with. The code is never nice… :rofl:

But the problem I’m referring to, is structs changing values ‘on their own’ after restarting the editor or accessing the save game.

1 Like

absolutely agree, i hate BP structs just haven’t found an alternative, i use data assets where possible but for instanced data structs seam to be the only way :frowning:

1 Like

In any case the save game is a sort of giant easy to use struct :slight_smile:

Hi

You may be correct that the giant easy to use save system. but still doesn’t answer the question
how its used correctly, and if anybody here is prepared to make a video course on how to use it correctly. Somebody must have successfully done this.

Goes beyond blueprint, but imo is the best video online about this:

1 Like