Multiplayer Variables, Game Instance, and Objects

One thing I see is you don’t have any Switch on Authority. Authority means its the server character and not a client and remote is obviously the client.

So you can think of it like this Server is the boss that controls everything. So the Server can do whatever it wants… but if it a client you have to ask the server to do stuff for the client. Like in your example set visibility.

In this example the authority(server) can just go and change the visibility and everyone on the server will see it change. But if the client wants to do it, it has to ask the server to do it for him and then the server replicates it to everyone else to see.

Also game instance is only on server side. So clients won’t be able to get that data. So again you have to tell the server to its game instance and then replicate that variable to clients.