Adding a Widget on a Listen server shows on all clients.

So I have been trying to figure out this bug for a week or so now and I have finally narrowed it down to this one odd case.

When you add a widget on a listen server (Where one client is playing as a listen server and everyone is connected to him) widget appears on all other clients also. This generally ends up in all other clients but listen server client having 2 of same widget up.

In screenshot below if you remove Is Server check you will see that listen server will get 1 creation of widget but all other connected clients will get 2 creations of widget. 1 of listen servers and 1 for there own client ending up in 2 widgets being created.

Is there any way to stop this from happening? I would like listen server to get widget also but I do not want it duplicated 2 times on all other clients because of it.

This is all done within HUD Blueprint.

It almost seems like initial widget creation on listen server is replicated to all other clients in addition to there own creation of widget?

I forgot to mention you have to uncheck Use Single Process to see this happen. (Since this is how packaged games would all be operating as single processes)

I am starting to think this is a bug with UMG / Listen server. Something to do with how UMG’s are created on a listen server?

Hi Toom,

Try adding a switch has authority after branch to see if forcing it to come from server side prevents double widgets.

Well ultimate goal is to have ability bar created on player that is also acting as a listen server but also on clients that connect to.

moment listen server is told to create widget and add it to viewport and a player connects to listen server. listen server is also telling all clients to add that same widget to all clients viewport. This makes a unuseable widget ability bar on all clients that they can no access or do anything with. When client reaches there point in blueprint to create there own local ability bar it does so and client can interact with its own ability bar but listen server created one is always in background unuseable by clients.

This is even reproducable with a stock third person project. Create a simple hud that say displays text of what current clients controller is. Then run editor with use single process unchecked and 3 players and as a listen server.

You will see that all players (besides listen server client) ends up with a two text showing different controllers instead of just there own local one.

strange part is that on a dedicated server it does not happen and it does not happen if you run as a single process in editor.

Hi Toom,

If you are disabling Use Single Process to test your game, you may run into problems. Use Single Process was added so all clients and server would run in same process as editor, and just spawn multiple viewports to represent these new instances of game. All of these instances are running in same process, and sharing same memory, which is much faster. Otherwise, it can take a long time to spawn all those processes and take up a lot more memory, which might be causing communication issues you’re seeing now.

ability to turn this off is just to debug issues when things are broken. If you’re looking to test in a more “real world” setting, use Launch game or actually package game first.

If this issue still occurs with Use Single Process enabled, please reopen this thread. Hope that helps!