Description

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

Regression:
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

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

Expected:
Pressing Left arrow while Button1 has focus changes focus to Button3

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

18
Login to Vote

Won't Fix
ComponentUE - Editor - UI Systems
Affects Versions4.16.34.17.14.18
CreatedSep 25, 2017
ResolvedAug 18, 2021
UpdatedAug 18, 2021