How To Make Bindings For Xbox 360 Controller For Mac Same As Unity
The Xbox 360 controller has quite the storied history. In addition to being the controller used on one of the most popular, revolutionary gaming consoles of all time, it also popularized XInput in PC gaming which helped bring to light more gamepad-centric titles on the PC platform.
- Xbox Design Lab will be back in 2021. We’re taking a short break to make some changes. Stay tuned for updates on how to customize your Xbox Wireless Controller.
- I've made a simple shooter in Unity that I'd like to play on an Xbox 360. Mass production not required, just a one-off game, completely non-profit. Perhaps burning to a DVD? Is it a relatively simple procedure to burn the game to disc? I have a nasty feeling the Xbox 360 needs to be chipped. Is this the case?
- So after some research I found a way to use both a wireless Xbox 360 controller as well as a wired third-party Xbox 360 controller. This worked for Borderlands 2 and other games I've tried so far. The cost for this is $5 for the wired controller and $20 for the wireless. Here are the two setups that worked for me.
The following controllers are supported by InControl:
- Amazon Fire Game controller and remote.
- Android TV controller and remote.
- Apple MFi controller on iOS 7 and above.
- Executioner X on Windows and Mac.
- GameStick on itself and on Linux.
- Google Nexus Player controller and remote.
- Green Throttle Atlas on Android.
- Hama Black Force on Windows.
- Logitech F310 on Windows, Mac and Linux.
- Logitech F510 on Windows, Mac and Linux.
- Logitech F710 on Windows, Mac and Linux.
- Logitech WingMan on Windows.
- MaxFire Blaze5 on Windows.
- Moga Pro on Windows, Mac and Linux.
- Natec Genesis P44 on Windows.
- NVIDIA Shield on Android and Windows.
- OUYA Everywhere (supporting all controllers the OUYA SDK supports).
- OUYA controller on Windows and Linux.
- PlayStation 2 controller on Windows (with adapter)
- PlayStation 3 controller on Windows, Mac and Linux.
- PlayStation 4 controller on Windows, Mac, Linux and Android.
- PlayStation 4 console.
- PlayStation Vita / PSM.
- Samsung GP20 on Android.
- Speedlink Strike on Windows and Mac.
- SteelSeries Free on Windows, Mac and Linux.
- Valve Streaming Gamepad on Windows.
- Xbox 360 controller on Windows, Mac, Linux and Android.
- Xbox One controller on Windows and Mac.
- Xbox One console.
- A variety of Xbox 360 clones are supported.
- Some generic Android controllers are supported.
- Some generic Blackberry controllers are supported.
- Keyboard and Mouse support.
- XInput support on Windows (with rumble!)
Note: New device profiles are really simple to create. Please feel free to submit profiles for any controller/platform not currently in the list, but do ensure it correctly supports all the standardized controls.
Note: InControl currently does not include direct SDK support for the major consoles, although it does work with many (see the list above) by piggybacking on Unity's built-in input support. This means console specific controller functions like rumble and light control is not supported, but basic input is. Some users have integrated InControl with the Unity console SDKs on their own, however. Adding official support requires the appropriate devkit access and licensing. I'm hoping to do this in the future, where possible.
This page serves as a cross reference between Unity and the XBOX 360 contoller buttons/axis.
|
Full controller support
If you only build your game for Windows, you may be interested in XInput.NET which allows full XBox 360 controller support.For an InputManager.asset file with four XBox 360 controllers mapped click here or with separate axises for triggers: click here
Configuration
The sensitivity of the axises should be set to 1 for accurate reproduction. The Gravity of an axis should be set to 0.Axises should be configured with a dead zone to prevent them from producing an output of more than 0 when they are not moved. Since the centre return of the thumbsticks will cause the output to wander, they should be given a dead zone of around 0.2. The Triggers are firmer, and only require a deadzone of 0.1.
Buttons can either be fetched using Input.GetButton, or, if using an axis in the InputManager, can be configured with a sensitivity of 1000.
Bindings
The controller bindings for several operating systems using the most commonly acquired drivers are specified below for:
- Windows tested against Windows 8.1 using default drivers
- Mac OS X tested against Mavericks and Yosemite using Tattie Bogle 0.12 controller driver
- Linux tested against Ubuntu 13.04 64-bit using the default driver
Unity will only reference axises via the input manager, while buttons can be accessed via a string joystickbuttonX or through the KeyCode enum, where X is the number of the button provided in the table below. For example KeyCode.JoystickButton9 would refer to the Right Stick Click on Windows, the Start Button on OS X, and the Left Stick Click on Linux on all controllers. For More infomation on how to use the data from the table below, refer to the manual
Axises
Input | Platform | Notes | ||
---|---|---|---|---|
Windows | Mac Os X | Linux | ||
Axis Name | Mapped Axis Number | |||
Left Stick X Axis | x axis | x axis | x axis | |
Left Stick Y Axis | y axis | y axis | y axis | |
Right Stick X Axis | 4 | 3 | 4 | |
Right Stick Y Axis | 5 | 4 | 5 | |
D-Pad X Axis | 6 | 7 | On Linux, only wired controllers support using the D-Pad as axises | |
D-Pad Y Axis | 7 | 8 | ||
Triggers | 3 | The left trigger is represented by the range -1 to 0, while the right trigger is represented by the range 0 to 1. | ||
Left Trigger | 9 | 5 | 3 | Windows supports a 0 to 1 range for both triggers. Mac OS X supports -1 to 1, however the trigger initially starts at 0 until it is first used. |
Right Trigger | 10 | 6 | 6 |
Buttons
Input | Platform | Notes | ||
---|---|---|---|---|
Windows | Mac Os X | Linux | ||
Button Name | Mapped Button Number | |||
A Button | 0 | 16 | 0 | |
B Button | 1 | 17 | 1 | |
X Button | 2 | 18 | 2 | |
Y Button | 3 | 19 | 3 | |
Left Bumper | 4 | 13 | 4 | |
Right Bumper | 5 | 14 | 5 | |
Back Button | 6 | 10 | 6 | |
Start Button | 7 | 9 | 7 | |
Left Stick Click | 8 | 11 | 9 | |
Right Stick Click | 9 | 12 | 10 | |
D-Pad Up | 5 | 13 | On Linux, only wireless controllers support using the D-Pad as buttons | |
D-Pad Down | 6 | 14 | ||
D-Pad Left | 7 | 11 | ||
D-Pad Right | 8 | 12 | ||
Xbox Button | 15 |
Picture References
Windows
Mac OS X
How To Make Bindings For Xbox 360 Controller For Mac Same As Unity Version
Linux
Note: wired controllers only support axises for the d-pad, while the wireless controller only supports buttons for the d-pad, refer to the table above for the wireless controller configuration.