Is it not possible to change Inputs in-game?

Documentation and tons of searching seems to suggest that Unity’s input manager does not allow you to code configurable key bindings.

You can only GetKey or GetAxis but not SetKey. Is this not possible without outside DLL recoding like cInput?

I’ve seen the feedback on it but I asked just to make sure I wasn’t going crazy because it seems quite silly that a Game Engine doesn’t support native key remapping through scripts.

What are you after? Changing the input would mean changing your keyboard I would think. If you want to make it so that at first you jump with Space and then you jump with A, you can simply have an if statement: bool newInput = false; if(Input.GetKeyDown(KeyCodeSpace)) { if(!newInput)Jump(); else return; } if(Input.GetKeyDown(KeyCode.A)) { if(!newInput)return; else Jump(); } Maybe explaining the purpose, there would be another solution.

I was just making sure there wasn't a way to be able to change inputs in-game... so if a player wanted to change certain keys around, they could.

1 Answer

1

If I understand you correctly, please see:

http://feedback.unity3d.com/suggestions/scripting-expose-input-manager-

etc.

This is a very common complaint of Unity. You’re not the only one :slight_smile:

BTW, for this question there are so many postings that I have to wonder if you did due diligence and did a Google search before posting. Make sure you do so or be prepared to be mocked mercilessly by the community. -J

I have and I've seen the feedback on it but I asked just to make sure I wasn't going crazy because it seems quite silly that a Game Engine doesn't support native key remapping through scripts. And that the Feedback like that one has over 1000 votes and it's from 2009 and still hasn't even been acknowledged/evaluated by the staff.

Thanks, hehe I know what you mean.