I am trying to make a gamepad work with a BillboardGui…but so far I haven’t had much luck. None of the buttons are getting selected and are therefore can not be clicked.
All the buttons in use have their “Selectable” property toggled to true.
The BillboardGui’s parent is the PlayerGui
GuiService.SelectedObject is used to select the initial TextButton on run-time.
Bumping this cause I’m having issues with this too. Using SelectedObject on a BillboardGui parented in PlayerGui doesn’t seem to do anything. But I’ve seen this work in other games.
Someone had an issue with BillboardGuis not receiving input events recently, and it was caused by the Active property being false. I’m guessing that the Active property might control if gamepads can select its contents to. Have you tried turning the Active property to true for the BillboardGui and its descendants?
Gamepads and Billboard-/SurfaceGuis work like click detectors, You have to hover the XBox mouse over the button and press R2.
In order to make the select thing work I’m afraid you might have to make a custom select system and use a module script to do the same as on ScreenGuis.
I have a XBox controller myself I connect to my PC to test out things, I’ve had the same issue.
If anyone looks for this later, I was able to get this to work with the new virtual cursor update for gamepads.
Example:
-- Pass in a child (GuiObject) of Billboard as a parameter
GamepadService:EnableGamepadCursor(ImageButton)
-- Disable
GamepadService:DisableGamepadCursor()
It does work with PS4 and Xbox gamepads. Im guessing you’re trying to selected the button with A but you actually need to have the little dot in the middle of the camera positioned over the button and press the right or left trigger (I forget which one) and it will act as a click detection(99% sure it will be sensed as a click). I know this because Sonic Onset Adventure used a text button to tp the player to their test level and it worked.