Replicating UI element changes


I’m having a spot of bother with replication. I’m not sure if I’m doing something wrong or I’m missing a setting somewhere.

I have set up all the steam multiplayer functionality, this worked fine I can see the games and I can join them.

I have created a lobby where players go before the game starts and this is where I’m having issues.

In this lobby, there is a UI with a bunch of settings only the server host can modify these settings.
When the host of the game changes a drop-down I want the UI to change on all the clients UI’s too.

This is what I have setup.

In the W_GameLobby

In the LobbyPlayerController
This goes back to the W_GameLobby

when I change the drop-down on the server, I don’t see the print string on any of the clients and the item is not getting updated I’ve tried various different replication types none of which seem to work.

Any help would be appreciated.

You need to execute on the Server first then Multicast. But better use RepNotify

Sorry, I don’t follow you, the only person that can change the dropdowns is the host (Server) there is also no “RepNotify” option available.

I change the first call to run on the server and then do a multicast. Still nothing.

Hi, widgets don’t replicate, they only exist locally. So having replicated variables, repnotify or RPCs there makes no sense, since they won’t do anything.

So if you want to sync a widget between server and clients you need some manual workaround (e. g. server changes something in widget -> calls multicast / sets repnotify variable in some replicated actor that exists on server and all clients -> clients receive the change and update their widget accordingly).

RepNotify is for variables, so as soon as the variable updates on client or server, then it executes the associated OnRep function.