Make "NextSelection" Properties Dictate SelectionGroup Navigation

As a Roblox developer, it is currently too hard to have User Gamepad Selection break out of SelectionGroups in a predictable and intended way.

If Roblox is able to address this issue, it would improve my development experience by allowing for an easy, direct, and explicit setup of the Gamepad Navigation flow rather than having to programmatically manage each “NextSelection” property for dynamic/static elements.

An example of what suffers from this Issue:
In the game Car Crushers 2, we have this Limited Time Shop. We have three “primary” SelectionGroups that we would ideally want to be traversed by the Gamepad sequentially.

Orange being where you start, Blue being where you would go from Orange, and Pink being where you would go from Blue.

However, as it is now - and despite NextSelection properties being set on these SelectionGroup frames - the navigation actually follows an unnatural and undesired path as represented by the Yellow arrows in the image provided.

The issue here is that Roblox is attempting to find the best option to go to based on the direction we want to travel in. This behavior is great when we don’t know what Group we need to go to, but in this example we actually have desired Groups we want to break out to from each other.

This causes the Get Credits button to navigate downwards to a Sale Item at the bottom and not to the Claim Gift button, or for the Claim Gift Button to navigate down to a Sale Item off screen. This is extremely unintuitive behavior; we would ideally want the Get Credits button to navigate to any Claim Gift button that exists, and for the Claim Gift button to navigate to the nearest Sale Item purchase button.

This desired behavior can be achieved by making the “NextSelection” properties on SelectionGroups dictate where selection should break out to. This would allow for SelectionGroup Orange to break out only to Blue, SelectionGroup Blue to only break out to Orange on the Top and Pink on the Bottom, and SelectionGroup Pink to only break out to SelectionGroup Blue.

1 Like