When using a gamepad (Tested with an X-box 360 Controller) if you press and hold a UMG button down and then use the D-pad or another form of movement the currently pressed widget component (In the test case, a button) loses focus and another widget can get focus. If you click and hold with a mouse the widget component does not lose focus.

This issue occurs in 4.14.3, 4.15.3, and 4.16 binary versions of the engine.

Steps to Reproduce

Reproducing this issue requires a Gamepad Controller

  1. Create a new project (No template or starter content needed)
  2. Create a new Widget Blueprint > Name it "Test_WDGT" > Open Test_WDGT
  3. Add a vertical box to the canvas panel > Add 4 buttons to the Vertical Box (Screenshot_01)
  4. For each button Set the size to fill and Padding to 5 on all sides
  5. Create the setup in the event graph (Screenshot_02)
  6. In the level blueprint > Create widget Test_WDGT > add it to the viewport
  7. In the project settings > Under Engine > Under User Interface > Set Render Focus Rule to "Always"
  8. PIE and click one of the buttons with the mouse to set focus
  9. click a button and hold the mouse down and then move the mouse around the screen (Expected result)
  10. With your controller use the D-pad or other movement to ensure focus is still on the widget
  11. Press a button down (The button that would activate the widget) and then use the D-pad or other form of movement.

Result: The focus changes to another button and activates it
Expected result: Like the mouse the focus should remain on the button that was first pressed.

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-45405 in the post.

Login to Vote

ComponentTools - UMG
Affects Versions4.
Target Fix4.24
CreatedMay 25, 2017
UpdatedJul 11, 2019