Can't load saves from Server as Client

Hello! I’ve been working on a system where players save information to a server, and can then load it via a Widget/Button press (eventually automatic). However, it has two major issues.

Firstly, any clients on the server cannot actually load their saves. In the screenshots below, particularly the fourth one, it triggers IsNotValid for the Load Data (see fourth image/section).

Secondarily, the owning server user -is- able to load a save, but what happens is that whenever a client generates a save, it creates one for the server user as well. If the server user already had a save, the client (or one of the clients if there are multiple) overwrites it. I have a step by step with images below which I hope will help explain the issue.

  1. The Character on event begin play casts references of Player Controller and Player state, then on a loop refreshes and sends information to specific player controller.

  1. In the Player Controller, the event being run from the character saves the character’s variables to itself so they can be saved.

  1. This is the save system. For some reason it generates a save for the server regardless of whether or not the server has reached the ‘Ready To Go?’ state or not, and it fills in the information of the client playing. If there is more than one client as well as the server, it seems to randomly assign the save of one of the users to the server.

  1. Lastly, and perhaps most importantly, the player can load their save from the HUD. If the server user plays on their own without a client on the server, it works 100% as intended; the server generates a save, and can then restart and load it. The client, however, is not able to load their save file even though it exists in the server’s save game directory. Specifically, it determines that the save is Invalid from the is valid check. If anyone could help me with this it would be enormously appreciated, being able to save and load that save as a client is the most important function for my project and I have tried everything I can think of to no avail, the client simply cannot locate the save they made on the server to load.

Hey, were you able to figure this out? Can you post a screenshot of the Main Game Instance function Load Data? Each machine has their own game instance and it isn’t replicated. I think the Load Data function is performing local only operations. So, when the “Load Save” button is clicked, it only searches on the machine that pressed it.

Thank you for your response, and apologies for the delay in mine. You have indeed identified the issue. I changed the function into an event that runs on the server and it appears to be working. I’m going to keep testing for a day or two to make sure everything is lining up and if it is indeed correct I will mark this as the answer so you know it has been solved. If I run into an issue before then, I will provide images of all the changes.

Once again, thank you so much for your response and suggestions.

Replying with updated information; As said before, the change -mostly- works. However, it has two issues. The first is that occasionally a user will load a different user’s save, but this happens so infrequently that I have been unable to locate why this is happening. Secondarily, the only way I can trigger a save for a specific user is on a button press. I have tried starting the save on event tick, but every time I attempt this it creates a save for every user even if they aren’t loaded in yet, and as such it sets the first user to join in as the save profile for -all- users. So if two people are playing, and one disconnects for whatever reason, then rejoins, their save will get over-written by the player already on the server.