I ran into an interesting issue as I was trying to put together a universal console controller script, (so that square on ps3=X on xbox360 controller, etc…). basically I want similarly located buttons on a ps3 controller, xbox360 controller, Ouya controller to do the same thing when I run game in the editor And when I eventually build to the console or PC/MAC.
The issue I ran into was that button 14, and some other buttons are located in different locations on each controller so I can’t simply say (pseudo) if (Button 14 or Button 11) { bumperRight.IsDown) } as I am not sure how to discriminate between the PS3 controller OR the Xbox360 controller. i.e. ps3Button14 or Xbox360Button14.
Am I doing something too crazy or is there already a unified input manager that can work with common controllers and make similarly located buttons do the same thing for editor play and when built to each specific platform.
Ideally with default button mappings (without having to remap controller buttons in OS) have the ability to plug in common game controllers and have the similar buttons do the same things-then build to the specific platform with similar mappings.
Also in Unity the controller mappings on the PC are completely different for each controller than the Mac, but easily ‘re-mappable’