Arcen Games

General Category => Shattered Haven => Shattered Haven Technical Support => : ab April 27, 2013, 05:03:07 PM

: Controller button bindings issue.
: ab April 27, 2013, 05:03:07 PM
My controller button bindings (including bumper buttons) are not being detected correctly for Controller 1 and Controller 2, and I have attached two screenshots showing the issue. (The analogue stick, directional pad, and triggers are detected correctly for Controller 1 and Controller 2.)

The first screenshot shows Player 1 has controller button bindings for A and B set to Controller 2, not Controller 1.  The second screenshot shows Player 2 has controller button bindings set to Controller 3, which does not exist.  If I try to rebind the buttons on Controller 1 or Controller 2, any button input is detected as coming from Controller 1 (e.g., if I press A on Controller 2, the rebinding menu detects it as A on Controller 1).

In game, when only Player 2 presses Y, both Player 1 and Player 2 use the item in the Y slot. Also, when Player 2 presses B to interact with something like reading a sign, Player 2 cannot then cancel out of the sign.  Player 1 has to press B to cancel out of the sign Player 2 read.

I have reinstalled the game and have also deleted the inputbindings bak and dat files but the issue persists. Any help would be appreciated!
: Re: Controller button bindings issue.
: x4000 April 27, 2013, 05:57:23 PM
Unfortunately, all of this is internal to the Unity 3D engine, so there's not really anything we can do -- it's a black box to us.  They tell us a certain key or button has been pressed, we say "ok, so do x, y, and z" and that's it.  When they tell us the wrong key has been pressed, there's nothing we can really do or any way for us to detect it.

That said, if it's just giving you strange names for what is being detected, then I imagine that would not be a problem.  Ie, if it thinks that A on controller 2 is A on controller 1, but that's consistent, then presumably that would continue to work in-game.  So long as A on controller 1 was not ALSO being detected as A controller 1.

In other words, if they are labeled wrong but actually distinct, then it's just a mild cosmetic annoyance (but still strange as heck).  If they are actually binding themselves on top of one another, then that's more of a challenge.

I have heard of a problem similar to this with a multi-adapter that our level designer was using in order to connect PS1 controllers to his computer.  Apparently that multi-adapter caused all sorts of mild confusion in a lot of games, but in this game (aka, any Unity 3D engine) were being detected as just a single controller input.

In a case like that, where the hardware is being really unusual and not playing nice with Unity 3D, really the only workaround is something like unbinding all (or most) of the gamepad buttons in the game, and then using something like Joy2Key (http://joy2key.soft32.com/) or similar.  I hate having to recommend external software for something that should just work out of the box, but it sounds like there's something unusual with your setup, one way or the other.

Hope that helps!
: Re: Controller button bindings issue.
: ab April 28, 2013, 06:05:23 PM
In a case like that, where the hardware is being really unusual and not playing nice with Unity 3D, really the only workaround is something like unbinding all (or most) of the gamepad buttons in the game, and then using something like Joy2Key (http://joy2key.soft32.com/) or similar. 

Hope that helps!

Great idea, thanks.  I used GlovePIE to rebind my keys and all is well.  :)

As I was rebinding my keys I noticed the default keyboard commands for Player 2 to "Use Item In Slot #3" and to "Open Inventory" were both bound to *, and the keyboard command for Player 2 to "View Goals" was bound to = which was unresponsive when pressed on my keyboard until I rebound it by pressing = in the binding menu and it showed up as Equals.
: Re: Controller button bindings issue.
: x4000 April 28, 2013, 06:07:16 PM
Glad that did it! Will have to check that other binding thing.  Thanks!