Is it me, or is making guis gamepad compatible incredibly frustrating?

I’m trying to make my menus work with the gamepad, and I get it working KIND of.
The documentation on the wiki is extremely confusing and unclear, like always.

“AddSelectionParent”, Creates a gui selection group where gamepad gui navigation will only consider selectable gui objects that are within the group (children of selectionParent).

I assumed it basically put the player’s “selected gui” within the range of whatever AddSelectionParent is, but for some reason it sometimes manages to escape, or if you press the Menu button on the controller a few times it completely resets everything. Additionally it doesn’t always select something inside the group.

And on top of that, when you select GuiService.SelectedObject, most of the time it doesn’t actually happen. The SelectObject randomly becomes nil.

I feel like I’m messing with the wrong components of this system, and there’s a really quick “tl;dr” solution to this randomness that offers consistency and logic.

1 Like

I definitely would like you to expand upon

I recently made my game on Xbox one and did not have any troubles with that. Make sure nothing else is setting it to nil elsewhere in your code. For example, I have pressing B make every popup GUI invisible if is was visible in the first place, while also setting the Selected Object to nil so the player can walk again.

I did however have some troubles with this Character movement and SelectedObject

I figured out what was causing the problem; My guis were tweening in from the side of the screen. When guis are “offscreen” it seemingly randomly decided if it would select that gui object or not.

NEW QUESTION: When my gui menu closes, I set SelectedObjejct to nil, but the gamepad selects the first thing inside the CoreGui leaderboard. I set it to nil before and after it appears but nothing seems to work; is there a way to “back out of” the gui selection mode for controllers? I thought setting SelectedObject to nil would do the trick…