With the recent update, we now have HighlightEvents available in the standard button{} class for Verse UI, which allows us to create fully custom buttons. I’ve built my UI using only these buttons, but I’m running into an issue with controller navigation.
When the UI opens, the first button receives focus correctly, but I can’t navigate to any other buttons using the controller. Navigation only starts working after I press (click) the initially focused button.
Please select what you are reporting on:
Verse
What Type of Bug are you experiencing?
UI/Tools
Steps to Reproduce
Create a standard Widget Blueprint that you intend to use inside your button{} class.
Assign that widget to the button{} class (for example, I used a horizontal Stack Box and added five identical buttons).
Add the widget to the PlayerUI.
Attempt to navigate through the buttons using a controller.
Expected Result
It should navigate between all buttons without pressing any button.
Observed Result
It doesn’t navigate and stays focused on one button until you press it once. After that, navigation works.
Hello,
Thank you for your report. Could you please verify the following:
the root userwidget in the Widget Blueprint class has “Is Focusable” set to True in the details panel
whether you are using any additional verse calls beyond what’s mentioned in the repro steps, such as SetFocus()
whether this is an actual navigation issue or if it’s related to Highlight visuals? To confirm this, please print a unique text for each button OnClick, then try navigating to an adjacent button and press it to see if the printed text belongs to the “visually highlighted” button or not.
Thanks for getting back to me. Please find my answers below:
The Widget Blueprint in question is an Overlay containing only Image and Text widgets. It does not include any Button or interactive widgets, so the “Is Focusable” option is not available, as it only applies to interactive elements.
I’ve tested the behavior both with and without calling SetFocus(), and the result remains the same in both cases.
I followed your suggestion and assigned a unique identifier to each button, printing it on OnClick. The correct ID is printed for each button, confirming that the actual navigation and input are working as expected.
@Zahra.Nik Nevermind, i misread your reply and it turns out setting IsFocusable on the root widget which i just found out was off and i turn it on and now its working perfect, navigation works.