Loading and unloading stream levels replication issue

The setup I have in my listen server project consists of players pressing a button, when pressed the terrain changes by unloading the current sub level and then loading a randomly selected sub level.

All players are seeing the correct terrain (e.g grass, sand or snow landscapes) but when the server player presses the button it doesn’t always unload the previous sub level for the client.

So randomly and often it fails to unload and there will be 2 sublevels loaded at the same time for the client but not for the server.
The client pressing the button works as intended, server and client both unload the previous level everytime.

This problem did exist when I was doing early testing in singleplayer standalone back when I started the project and the solution was to move the unloading/loading from my old button blueprint to a gameinstance blueprint.

Now the “button” function runs from the Character Blueprint but still calls the gameinstance to load/unload.

Any help would be appreciated. I’m very new to the multiplayer replication side of UE so I’m sure I’ve done something painfully stupid and wrong.

Character BP

Character BP RepNotify

Game Instance

A video would help me and anyone else who is seeing this disambiguate your issue.

I’d also follow the orange execution lines during play in your Blueprints to help you track what is going on.

Print string the hell out of your functions to debug them.