I’ve attached a barebones sample project that demonstrates this bug.
Here is a video with annotations to demonstrate the issue: - YouTube
As soon as your game connects to or is connected to, the blueprint events bound to UMG buttons no longer fire. Meaning they do not even fire locally on any client (i.e. this shouldn’t be a case of forgetting to replicate something).
The button’s “Pressed” style visual is applied but nodes wired to the “OnClicked” event do not execute on the client.
I have encountered the same issue. The ticket is currently classified as “Backlogged”, does that mean it will be a while before it gets adressed? I don’t know of a workaround and it makes multiplayer projects using 3D UI unplayable at the moment.
Apart from the OnClicked event not firing, the Hovered visual state is also not shown for me.
Backlogged does mean that the ticket is currently receiving a lower priority than other issues. At this time, the developers are focusing their efforts on high priority crash and showstopper bugs.
We are affected by this as well in 4.14.0. It sort of blocks usage of this component for us. Is there any chance this might get some attention soon?
An alternative would be some kind of workaround if there is one. We couldn’t find one yet.
Well, I have found a rather complicated workaround:
Turns out this is only the case for first usage of a widget. Once you create your widget in a scenario with more than one players the widget will not react on clicks as the bug states. When you switch over to another player (only with multiple windows) and try it there you will see it’s not working either. When you then switch back to the first player and re-create the widget it will suddenly work. Same on the client.
So once the same widget has been created at another client and refused to work there, re-creating it on the first player will make it work. This means a lot of pointless clicking around before you can make your actual test but at least it means you can test at all. Just slows down progress horribly.
It’s not a bug, you should have set up unique “Virtual User Index” and “Pointer Index” values for every player for your Widget Interaction. Read details of this component and it’s tooltips.
As well as the above, you need to make sure your input triggers are not Consuming Input. Otherwise, whichever controller spawns first will take all input, and the other won’t get any. Select your input events in the event graph and check the details panel.