Why won't gamepads work with BillboardGui's?

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.

Here’s a place setup with the code I am using:

Baseplate.rbxl (17.6 KB)

1 Like

Are they directly compatible, or has anyone done this before?

What are you referring too?

I was asking if anyone had ever done this before in order to know if it’s possible in the long run.

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.

1 Like

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?

Didn’t help :frowning:

Edit: The gui does receive input events. Like if I move the XBOX cursor to the button, and press R2 (or R1?) it works


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.


-- Pass in a child (GuiObject) of Billboard as a parameter 

-- Disable 

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.