Download

Saving and loadin module not working

Hi guys ok so far I’m at the stage where once a user logs in I am assigning them a player number, team number and other stuff.

This I am storing in variables within the player controller.

Next I am sending this data and copying it across to my game instance so that when the player changes level his data still persists.

Now for the next thing all I want to do is take the data from the game instance and save it. So that when a player logs back on I can load the data back up from the save file then send it back to the player controller.

Here’s a flow of what I mean
Game start > assign data to variables in player controller > copy data into the game instance > when player leaves game > take all the variable in game instance and save them to save game folder in unreal file folder > player joins again > load data from save game folder > re assign it back to the player controller

I’ve been messing about with it for days following every tutorial I can find but nothing seems to work.

Either it doesn’t save and I get no output to the save game folder or I manage to save it and get a save file in the folder
But when I try to load the data it doesn’t load and I get “acessed none” errors.

I tried copying examples from the documentation found here https://docs.unrealengine.com/latest/INT/Gameplay/SaveGame/Blueprints/index.html but even that didn’t seem to work

I will post up screen shots of my blueprint later on but in meantime any ideas how to do it? Thanks for youre time

So not one person on this whole forum saves data or knows how?

Well it would be really helpful if you could post some images from your blueprints so others who have done the same can see what’s wrong with yours

My blueprint is exactly like in this link in the documentation example
https://docs.unrealengine.com/latest/INT/Gameplay/SaveGame/Blueprints/index.html

The only difference I did is in the example they are setting the name to player one manually in the set node where as in my version I have a variable that actually has the players name stored in it which is from the players player controller so I just linked it to the set node because otherwise I would have to duplicate the whole thing and manually change the player name myself .

I know the variable is right because I have a print screen set up and when I press the p key on the keyboard it prints out the name stored in the variable .

It’s not a casting issue because I’ve debug the blueprint and the chain goes all the way to the end (I have prints coming off the cast failed nodes to check this) and also once the chain gets to the end I the blueprint it prints out another message saying saved complete.

If I were you and I had done the exact same steps as in the documentation, I would firstly try to delete the variable for the name(so I will have the exact same thing as the documentation) I have set and see if the problem persists and if it does then post it here

Yeah I get what you’re saying but then my point is if that Is the case and you manually have to enter everything yourself then it defeats the whole point of saving

Example player one is called bob if I we’re to use the documentation example it would go like this
Press save > in the set node set the name manually
to bob> set the store name to test. This would save it fine

So I would end up with a save game called test that stored the player name bob

Now the problem , player 2 called jeff hits save, the save node is set up with the name being set to bob. So now jeff is saved but his name is now set to bob and this would also overwrite bobs save.

The only way to avoid this would be to create a branch for every single player and then a set node for every single name and then when you hit save to do a check eg if player name is bob continue down the bob save branch

But again this is useless what If you don’t know how many players there are and also this may be fine with a small amount of players but what if you had hundreds of players you don’t want hundreds of save game branches.

The other option is having a widget form and getting the user to enter there own save game details . But I want a system that when a player logs out /closes game it saves it automatically .

Now you can use the user index each time a user saves you increase the index by 1 this would give every person that saved there own save howether

The problem is when you have to load the save you need to enter the name of the file and it’s index number but how would you know what index number goes to which file name

just in case anyone is struggling with loading and saving . this website helped me to figure out what i was doing wrong

http://romeroblueprints.blogspot.co.uk/2015/01/save-and-load-in-blueprints.html