Widget input with keyboard/gamepad issue

Hi folks, I posted for 2 months this question but maybe in the wrong place.

I’m trying to simulate the behavior of metal gear solid 1 weapon menu.


You know that you press and hold the button, game is paused, you can navigate with pad just with up and right pad. When you have your desired weapon it is in the corner and you only need to release the button and resume the game.

My issue is when I am in the widget blueprint graph editor, I don’t find the way to access to the event of arrows or any other button. I visited some videos and tutorials but the navigation in the widget looks pretty complicated. For example this tutorial uses “is input key down” but it doesn’t work for me.

Maybe it’s something trivial but I will appreciate your help

i am not confident that this is the best way, but what I have done is bind event dispatch to the player controller input events, and then the widget listens for those.

You can also use a branch to lock off the event dispatch - i.e. only fire it if the widget is valid.

1 Like

Cool! Thank you so much. I did know about event dispatchers at all xD

I added to my character the event dispatch

The widget is also bounded with the event

But the event won’t be triggered. Did I miss something else?

make sure that the input action is set to run when paused. When you select the node check the detail pane for that option.

Actually if oyu do that, you might be able to call it directly, rather than use a dispatch. (but good thing to know about dispatches anyway, they come in handy)

1 Like

I understand but my widget should be used in realtime and “global dilation time” with 0.25 so the game is not paused. Any other suggestions?

I’d focus on confirming that you can successfully get the player character or controller to communicate with the widget first.

A few things to consider if you are failing to print the log is check that the cast is successful, check that the input actor is registering input in the first place… just got to go through each part carefully to get the lines of communication setup. Tedious but usually you only have to figure it out once. Kinda hard to troubleshoot without hands in the project.

1 Like