Common UI is consuming Bottom Face Button inputs (UE 5.4)

Hi,

I am running into an interesting problem where my User Widgets no longer recognize “Gamepad Bottom Face Button” when I have UI inputs enabled for a focused widget (even if the widget is a non Common UI inherited widget).

I’ve managed to link the issue to use of Common UI in the project, where if I have the Game viewport Client Class to be set to the one recommended by Common UI, I can no longer use the “Gamepad Bottom Face Button”.

This is how I am testing to see if I am getting inputs to my User Widget class:

The print log above prints every single button on the gamepad, except for the Bottom face button.

I am in a situation where I need the user to “Press A” without a button or a selectable UI item. Is there a way to prevent Common UI from consuming the button?

Any help is appreciated!

1 Like

I have the same issue, sadly.

1 Like

My best guess is you’ve set it as a generic input and its working as intended.

Standard practice is to set face bottom button as an Accept button. You will set it as a Generic input in the metadata. Set it as a generic Click Event in your input data. Now Common UI will consume the input and essentially use it as a mouse click.

1 Like

I have to revive this post, because i was struggeling with the same problem and i think i found the solution.
The cause of the problem is the setting:
CommonUI.ShouldVirtualAcceptSimulateMouseButton

If you deactivate it with (standard is true):
CommonUI.ShouldVirtualAcceptSimulateMouseButton = 0

the Gamepad Face Down Button is not simulating a mouse click anymore and the implemented input action for the Face Down Button is working correctly.

Edit: I just saw the console command got added in UE5.6
For versions <5.6 the only solution would be to override ShouldVirtualAcceptSimulateMouseButton in your FCommonAnalogCursor class

1 Like

I have the same issue. Both Bottom face buttons & left stick.
I tried making a new viewport class based on the common one but sadly the input is always routed & the A gamepad is converted to a mouse click event.

One Work around that may help!

I haven’t tested it myself is if you create a Common Button Base and assign a “Triggering Input Action” to the Button A through your data table.

You can make the button visually invisible then connect the “Button Pressed“ inputs to trigger your functions.

It’s kind of an annoying solve, but may give you access back to the buttons you need.