We have a set of additional improvements to the Gamepad UI Highlight system that have been released.
Summary
This update includes improvements within the following areas:
-
Scrolling Frames - improved logic for selecting GuiObjects within the same scrolling frame and moving out of the scrolling frame
-
Billboard GUI’s - allowing selection of objects within a Billboard GUI
-
Selection Logic - GuiObjects that are completely surrounded by other GuiObjects can now be reached and selected
Details
Scrolling Frames
-
If the current selection is in a scrolling frame, the gamepad highlight will prefer other buttons in the same scrolling frame
-
The highlight will only move back outside of the scrolling frame if you are at the edge of one of the directions and there are no more selections
BillboardGuis
-
GuiObjects under BillboardGuis can now be navigated with highlight selection
-
You can set the initial selection with GuiService.SelectedObject and the selection system will be able to automatically move through the UI objects in the BillboardGui
-
UI highlight selection won’t select the BillboardGui UI initially and it won’t jump from a BillboardGui to other BillboardGuis, SurfaceGuis or ScreenGuis
-
This change also fixes some bugs with moving the highlight selection on SurfaceGuis.
Algorithm Adjustments
In the image above, there is a large outer button selection. Pressing down will select the inside A button. With the A button selected, down will choose the E button outside of both.
Disappearing Selections
Previously, if there was a single GuiObject on the screen, and that GuiObject disappeared (e.g. a confirmation pop up window that closes), the user would stay in UI selection mode, but there was no UI to select, so it can appear to the user as if the game is broken and the avatar can’t move. We tested an improvement to this behavior and saw player session times go up when this was active:
-
If the currently selected GuiObject disappears or becomes not selectable, we look for a new GuiObject selection and we set that as the new SelectedObject (this is the same behavior as if you toggled into UI selection mode)
-
If we don’t find any selectable GuiObjects, we turn off UI selection mode and return control of the avatar to the player
Feedback
As always, we’d like to know what you think about these changes and whether you run into any issues in the comment section below.