- Home /
Axis 9 and 10 not working with 2 Xbox 360 controllers plugged in
I have a very odd problem here. When I plug in an Xbox 360 controller and an Xbox One controller, the triggers on each of these controllers work fine in my game when reading from Axis 9 and 10. However, when I plug in two Xbox 360 controllers instead, Axes 9 and 10 stop working properly -- It seems that they only work if I press RT or LT on both controllers simultaneously.
I can't think of anything in particular I might be doing wrong here. To test this out, I simply plug in both controllers, start up Unity, and run a script with an Update function with the line "Debug.Log(Input.GetAxis("Joy1 Axis 10"));".
Any ideas on what might be causing this?
I have a very similar problem. When I want to use the Left Trigger for the first player, I have to use the second controller and hold the Left $$anonymous$$ovement Stick from the first controller to make it work. Can't really tell when this started to happen. But I have 2 xbox360 controllers and unity 5.3.4f1
I started using the Rewired plugin, and that fixed the problem for me. Bit of a drastic solution, but it's also just a really good plugin and has helped with a bunch of other controller related issues as well.
Thanks for the tip. But I stick to remove-the-controllers-temporarily-and-restart-unity for now. If problems like that occur again, I will consider the plugin. It does not happen regurlarly and only if I have plugged in 2 controllers.
Answer by Stonesand · May 26, 2016 at 12:46 PM
This is a known problem with Xbox 360 game pads. It will drive you nuts, because it looks like sometimes it works, and other times it doesn't.
Your actual-solutions-that-always-work are these:
Don't allow more than one Xbox 360 controller to be connected at once.
Use Rewired to force Xbox 360 controllers to use XInput instead ofDirectInput.
Is there an update on this? Forcing only one Xbox 360 controller to be connected at once is absolutely unacceptable as my game is a fighting game, so most people will be using arcade sticks. Since S$$anonymous$$m has built-in DInput to XInput conversion, I need this to work.
Is there a free workaround that lets me use more than one Xbox 360 controller? Rewired is $45 and it'd likely take more work integrating that into my input manager.
Preferably, I'd love to completely go away from Unity's input manager for all Xbox Axes (Joystick, D-Pad, and Triggers) since all I need are digital signals. For all keyboard/button inputs I've been using Get$$anonymous$$ey/Get$$anonymous$$eyDown with $$anonymous$$eyCodes.