Gamepad UI navigation doesn't work within ScrollingFrames until items in frame are first visible

Reproduction Steps

Create a ScrollingFrame with multiple items in it so that items are clipped out of view of the frame (i.e. you need to scroll to see them). Now try to use a gamepad to navigate through said items in the list. Once you get to the bottom of what is visible, the navigation will stop.

This also occurs if properties like NextSelectionDown are set. Those properties seem to be completely ignored in this case.

In the below video, you can see what is happening. When the gamepad is used to navigate down the list, it eventually jumps out of the list to the left-hand side of the screen. However, once I take over with the mouse and scroll through the list, the gamepad navigation starts to work properly.

Expected Behavior

The gamepad navigation should be able to understand that items in a scrolling list can be visible if scrolled down. At the very least, it should respect NextSelectionX properties regardless of visibility.

Actual Behavior

The navigation system treats it as if it’s reached the end of the given selection group, and tries to escape out to some other UI element if possible.

Workaround

If you scroll through the list with your mouse first, it starts to work properly. No idea why this fixes it. However, this is not a scriptable workaround.

Issue Area: Engine
Issue Type: Display
Impact: High
Frequency: Constantly
Date First Experienced: 2022-10-29 00:10:00 (-04:00)
Date Last Experienced: 2022-10-29 00:10:00 (-04:00)

10 Likes

Thanks for the report! We’ll follow up when we have an update for you.

2 Likes

Hi there! I’m having trouble reproducing this issue
scrollingframe-gamepad-ui-bug.rbxl (46.4 KB)
Could you provide a repro file?

Hi there, I can supply a repro if needed. I have UIs with this setup that have worked for years, and I have just recently been informed that controller + keyboard navigation no longer works in the exact same way as the original poster

1 Like

Any extra info you can provide would be appreciated. Thanks!

1 Like

Sounds good, thank you! I have DMed you one of my UIs which no longer scrolls down with a gamepad (and with keyboard navigation).

1 Like

Thanks for the report and help! It looks like I made a mistake in the visibility calculation with the ClipsDescendants property. There should be a fix coming out soon, but it the meantime, you can make your current UI work by toggling ClipsDescendants = false on any UI elements inside a scrolling frame.

3 Likes

Hi there! This should be fixed now. You should be able to reach any selectable GUIs inside scrolling frames if they’re visible without manually scrolling. Please let us know if you experience any further issues!

3 Likes

Yup! Works as expected. Thank you very much. :smiley:

1 Like