Xbox controller UI navigation selecting invisible frames in scrolling frames (REPRO file in replies)

Edit: Found out that any frames in a non-visible scrolling frame can be selected with the navigation menu. REPRO file in the replies!


The parent of the UI object it’s selecting is not visible, but when I start the UI navigation on Xbox, it sometimes selects that invisible object:

Where the bug happens: In studio and in-game, happens on PC (not sure if it happens on Xbox as I cannot test on that platform)

When it started happening: Since I made the UI

Here’s a video of me pressing the UI navigation button on my controller, while attempting to press the buttons on the d-pad to select some other UI objects.

Here’s a video showing the actual button in the UI (it’s the grey one with the plus image):

Here’s an image showing the parents and properties of that button:

Thank you!

8 Likes

From my extensive experiments, it looks like that issue is happening to buttons that are parented to a scrolling frame…

1 Like

REPRO: Xbox Navigation Bug Repro.rbxl (22.4 KB)

Steps:

  1. Connect your Xbox controller to your PC
  2. Play solo in the REPRO place with the properties and explorer tab open
  3. Turn on and off the Xbox UI navigation by pressing the menu button on the controller
  4. You should see that the UI navigation frame focuses on one of the buttons in the invisible scrolling frame

Buttons parented to a scrolling frame:

Buttons parented to a frame:

1 Like

Thanks for the report! We’ve filed this internally and we’ll follow up here when we have an update for you.

5 Likes

Thank you so much! :smiley: ‎‎‎‎‎‎‎‎

1 Like

Any updates regarding this issue?

Many of my Xbox players are having their experience heavily impacted by this problem as they literally cannot select anything in the user interface, leaving them to quit the game as a result of this bug.

Thank you in advance!

1 Like

Although tedious, you could probably create a temporary fix by configuring the Selectable property of the problematic elements from within the invisible frame to false, when the frame is no longer being viewed by the player. You could try using a Changed event to determine when the frame’s visibility changes, if it’s visible set the Selectable property of the elements to true, otherwise set it to false. You could also set the SelectedObject property of GuiService to a specified button when that frame is no longer visible as well.

I also believe this is a problem with the AutoSelectGuiEnabled property of GuiService. You might have better results if you set that to false.

1 Like

Funny enough, I attempted to create a fix using a similar idea, and the results were also very unstable; everything works until you bring a mouse in… let me explain.

So like you suggested, the temporary fix I coded a while back changes the .Selectable property of the selectable instances inside all scrolling frames alongside that scrolling frame’s visibility.

When you begin playing with your Xbox controller, the fix works and the navigation works as intended, but once you use your mouse to move around and then switch back to your Xbox controller, you cannot use the D-Pad anymore to control the navigation UI, leaving the game going back to square one, in a completely broken state. You can start the navigation menu by pressing the Select button, but you can’t change your selection like before with the D-Pad.

That problem doesn’t seem to be related to my code as I verified that the buttons I wanted to select that did not work where actually selectable, in which they were. Hence why I feel like there is some backend issue with Roblox’s code regarding Xbox controls that could get a little bit more love!

1 Like

Yeah, I’ve had problems with that and it was very tedious to get under wraps.

What you could do is check to see if the MouseEnabled property of UserInputService is true, which means a mouse is being used. If that’s the case, you can override properties to be selectable, I used a similar method I think for my game.

2 Likes

Is there any updates on this issue? Been 4 months, and I seem to have run into this exact same issue with my game.

4 Likes

Hi, all the engineers are super busy. I am asking for an update on this bug and as soon as i get one i will pass it on. Thank you for your patience

1 Like