Calling SetNavigationRule at runtime does not update the widget navigation of the selected widget.

No - same behavior occurs in 4.16.3 (CL 3561208)

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. In Project Settings > Engine > User Interface, set Render Focus Rule to Always
  3. In Content Browser add widget blueprint (MyWidget)
  4. Add three buttons to MyWidget in a line (named Button1, Button2, Button3 from left to right)
  5. In the Level Blueprint, add Event BeginPlay > Create Widget
  6. Add two nodes from Create Widget return value (Add to Viewport & Set Navigation Rule)
  7. Connect "Add to Viewport" exec & Target input pins to "Create Widget" exec & Return Value output pins
  8. Add Event KeyPress (Y) > SetNavigationRule
  9. Set the SetNavigationRule Target to Button1 (drag off of Create Widget return value to get reference)
  10. Set Widget to Focus to Button3
    (see attached screenshot for steps 5-10)
  11. PIE
  12. Shift+F1 to to get the mouse cursor
  13. Click Button3 (right most) and use the left arrow key to navigate through the buttons

Focus changes from Button3 to Button2, then to Button1 but then stops

Pressing Left arrow while Button1 has focus changes focus to Button3

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

Login to Vote

ComponentTools - UMG
Affects Versions4.
Target Fix4.26
CreatedSep 25, 2017
ResolvedJun 14, 2019
UpdatedApr 30, 2020