Gamepad - Joysticks and Wheels

Gamepad controllers are an awesome addition to ROBLOX, but it would also be cool if there was added support for joysticks and wheels.

I have no idea what it looks like to implement such a thing. Maybe it’s incredibly hard. Maybe not. But it would be awesome. Like how cool would it be if someone made a racing game and you could use a legit wheel/pedal system to play it? Or making a spaceship game where you actually get to use a joystick? That would be awesome.

57 Likes

Elite Dangerous has a really nice system for this. It uses DirectX I think and just checks for “axes”, and you can hook input up to either a key or an axis.

Would really love to use a joystick for flying a plane on ROBLOX or even the full HOTAS for throttle / rudder pedals.

9 Likes

An excuse to get a joystick and a steering wheel at my desk? Sign me up!

EDIT: I feel the need to say that this isn’t confirmation of anything. :stuck_out_tongue: I’d like to work on this and it’s in the same vein as my current work, but I can’t guarantee anything.

12 Likes

This would be a great hack-week project for an employee at Roblox .:wink:

10 Likes

Going to harmlessly bump this, because it’s still a feature that I would so dearly love to have on here.

11 Likes

Hey, thought I’d drop by here. Been working on a space sim, and I’m kinda sad HOTAS isn’t supported yet. I second what @EchoReaper said about the system in Elite: Dangerous as a good example.

5 Likes

I’m bumping this because it’s still relevant and I still would really love to see this feature. Other game engines have this support; why not Roblox?

I want users to be able to fly my planes with joysticks/yokes/pedals/whatever.

7 Likes

VERY MUCH NEEDED!

Currently you can emulate this behavior with programs like X360CE allowing you to emulate an x360 controller and have your joystick/wheel work in roblox but native functionality removes this step and would improve user experience greatly for those who have these devices.

5 Likes

I very much agree too that this needs to be added in to allow games to have another level of immersion for players that want it. I’m currently working on a building game and want players with access to joysticks and wheels to be able to experience their creation how they want.
Hopefully support can be added for this at some point as it has been several years already since this was requested.
Thank you!

3 Likes

I own multiple gamepads and joysticks. Including HOTAS and a Steering Wheel. And sadly the only one that works is an Xbox Controller.

1 Like

It’s 2023, controller support is greatly underrated as there so many great games that can be built around them, from racing and farm games to plane simulators.

Although it would be impossible for Roblox to develop interface for every controller, it is possible for Roblox to supply axis and button information as well some kind of device identification strings such as Vendor, Product, and Name that can be used for developers to program the support themselves, which is just interacting with the physical device and mapping out each button and axis.

I’ve developed my own API for the purpose of demonstration of this feature request.

local controller = UserInputService:GetControllers()[2]
print(controller.Name) -- Saitek Pro Flight Yoke
print(controller.Vendor) -- 06a3 
print(controller.Product) -- 0bac
print(controller.Buttons) -- { Button, ... }
print(controller.Axes) -- { Axis, ... }

controller.Buttons[15].Activated:Connect(function()
	print("T1 button pressed") -- T1 button pressed
end)

RunService.Heartbeat:Connect(function()
	local x = controller.Axes[1]:Get() -- 0
	local y = controller.Axes[2]:Get() -- 0

	if controller.Button[15].IsActivated then
		print("T1 is held down") -- T1 is held down
	end
end)

A flying part example using the Saitek Pro Flight Yoke.

3 Likes

Alright where could i get the api