Roblox is not detecting my gamepad's gyroscope or accelerometer

I’m trying to make a game with joycon controller support that utilizes the gyroscopes and accelerometers to make the player similar to a VR player. The joycons work properly in studio for walking around and jumping. I’ve also used an outside program (Dolphin Emulator) to make sure the gyroscope and accelerometers are working, and they are. So what’s the problem here?? It’s as simple as this:

if UIS.GamepadEnabled then
	print("Gamepad")
	print(UIS.GyroscopeEnabled)
	print(UIS.AccelerometerEnabled)
else
	print("No gamepad")
end

Output:image

It simply doesn’t think the controller has a gyroscope or accelerometer. How do I fix this?

1 Like

It may be because Roblox doesn’t support the Nintendo Switch Joycons. I think those two bool values will only function correctly on mobile and tablet devices that nativity support gyroscopes and accelerators.

Bump. Can I get closure on this? Why would the buttons be automatically mapped for moving, jumping, and looking around but the motion controls aren’t detected?

The only Gamepad implementation Roblox officially supports is the Xbox One gamepad, which does not have a accelerometer or a gyroscope. The Gyroscope and Accelerometer events you can listen to through UserInputService are used exclusivly for the Gyroscope/Accelerometer sensors on Mobile devices when playing Roblox on phones/tablets, not with a gamepad.

Joycon do have these sensors, but Roblox doesn’t support them. Windows will likely pick them up and translate their buttons to input through their universal controller API, but gyroscope and accelerometer data are not part of this.

If this is something you want to see implemented, making a feature request is your best bet. But considering this isn’t support on the Xbox one or using the Xbox one gamepad, which are the only ones Roblox officially supports, you likely have to stick to using mobile devices for this type of input.

3 Likes