We’re trying to implement XOne controller support for our game on PC, but we can’t have it working properly. The documentation seems non-existent, and we are just blind guessing things. After looking for information in forums and blogs, all we’ve found is that the XOne controller somehow uses the same X360 mapping, but we are running into some issues.
We can’t properly test the input actions since there is some Axis that is constantly giving us values != 0 and the character won’t stop moving, and we’re guessing that some of the XOne buttons act as triggers, or something like that. But without proper knowledge of how to code this we can’t fix anything.
Thanks, we already had this one but Windows seems to work differently
Anyway, we recently came across InControl but we’re almost at launch and it’s better for us to slightly tweak our system than to completely remake it from scratch with an external asset at this point.
Turns out that this is how to fix it, at least for the Windows 10 bug:
When going into the controller settings in the control panel to calibrate the controller, there is an option next to calibrate that says “Reset To Default”. Click that option. That’s it. Feel free to recalibrate after. It also fixed every other issue we had with the XOne controller on Windows 10.
I hope this helps anyone who has tried all the previous things with no luck. It seems to be more of a Microsoft issue rather than Unity’s.
Microsoft changed the Xbox One driver significantly on Windows 10. The L/R triggers are now separate axes, so you’ll have to have a different mapping for users running Windows pre-10 and users running Windows 10+. My input system Rewired can automatically handle this for you.
I can highly recommend Rewired especially with it native input (raw input/direct input, etc) support on Windows. Having native input support on Windows is a huge plus for me since I never have to worry about issues with unity input impacting me. My main interest was in all of the Flight Simulation controllers that Rewired supports since all of the good ones have more than 20 buttons (Unity input has a limit of 20 buttons) there was no other solution. Been a fan of Rewired since the beta release.
Actually I would be surprised if there is any other input system (anywhere) that supports as many controllers natively on Windows, Mac and Linux like Rewired does.
Your “first result” link points to a page about the Xbox 360 Controller, not the Xbox One Controller. The page contains no single mention of the Xbox One Controller.
The mappings are exactly the same on the Xbox One controller in the current, fixed driver in Windows 10 and in all versions of Windows Vista, 7, and 8.