You can try the blueprint function “Set Input Mode UI Only”. However this completely disables input from everything but the widget. I haven’t figured out how to detect the player hitting number keys vs clicking on them yet.
Is there a way to have a UMG widget “capture” input (like in Scaleform with UE3) so that it does not interact with gameplay in the background?
I have a full-screen lobby before the game starts, but the players are spawned in the background and as I move the mouse over the menu, it triggers mouseover events on the players behind the menu background.
Or is there no easy way to do this like in Scaleform and I have to basically handle this manually (that would be bad news)?
You can also use the blueptint function “Set game paused” after you create the UMG widget. Here you can set the Paused flag to true and in your widget you can use the same “Set game paused function”, but having Paused set as false (of course you have to call it on the event that closes the widget). That way you can pause the game, interact with the widget and then resume it.
Thanks for the help
I find excellent soluiton.Thanks to Mathew Wadstein! https://www.youtube.com/watch?v=HguI4RPURYc
Becareful when use disable input because it cant be enable again by controller input event . Try do this from the blueprint level or use widget button instead. Hope this help.
Yep, i moved event input to player controller. And considering this, I still think that this is the best way