Im working on a flight combat system, when I have 3 keys pressed the 4th, or 5th does not register. This used to happen on my old 386 with some DOS games I was able to up my keyboard buffer from my bios to work around it. I searched the forums and some guy mentioned buying a new more expensive keyboard. Thats just about the most absurd thing I've ever heard as nearly all games I own can dectect more than 3 keys pressed at a time. There must be a work around, what am I doing wrong? Im using Input.GetAxis(). Any help would be great. thnx
Keyboards typically limit the number of keys down to 5, though this differs on a per-keyboard basis. I've seen it higher, and I've seen it lower. My keyboard, for example, can only detect 5 keys down at a time, for example, if I press q, w, e, r, and t, then if I press y nothing happens. Your keyboard may limit the number of keys down to 3, and it's easy to test. Just type somewhere, holding each key down as you type it (type fast!). When it stops typing, that's how many keys you can have down at the same time. This limit typically excludes modifier keys like Control, Alt, Shift, and the Windows key, but again, it differs per-keyboard.
If you want to create a game with more input, you should think about using a gamepad (like a joystick, or an Xbox controller) instead of a keyboard, which Unity does in fact support. As far as I know, they support as many buttons up and down as are on the device (I've played games that have used six+ buttons down at the same time on a controller).
My keyboard detects up to 6 keys simultaneously in Unity, so the suggestion of getting a better (not necessarily more expensive) keyboard isn't absurd, it's reality. Unity can only work with what it's given...if your keyboard won't register more than 3 keys at once, then Unity can't magically get information that isn't there. As for your games which do, you're probably including modifier keys which don't necessarily count toward the maximum number of simultaneous presses, depending on the keyboard.