User Input issues with Windows Standalone build

I am currently having issues with Windows Standalone game builds. When I do a Windows Standalone build of a scene, the keyboard input is only registered/applied less than half of the time. I will push the left button 5 times, and only 2 impulses are applied (2 button presses are recognized and applied). This occurs with all keys that are used in my game.

When I build a scene for the Webplayer, then all of the user input works as expected (5 button presses = 5 impulses applied).

Does anyone know what causes this problem, and is there anything that can be done to eliminate or limit this problem? Any help would be appreciated. Thanks.

Can we see the code in question ?

Here is the steering code. It is designed to apply a momentary force in the desired direction, thus changing the velocity in incremental amounts. (This is a 2D game that locks one of the dimensions, hence the reason for the rightDirectionVector and the upDirectionVector)

if(Input.GetKeyUp("right")) {
				surgeRigidbody.AddForce(switchboardScript.rightDirectionVector * impulseStrength);
				surgeSwitchboard.SendMessage("IncrementImpulseCounter");
				surgeSwitchboard.SendMessage("EventOccurred", "right_impulse");
				Input.ResetInputAxes();
				rightEffectTimer = Time.time;
			}
			
			if(Input.GetKeyUp("left")) {
				surgeRigidbody.AddForce(switchboardScript.rightDirectionVector * impulseStrength * -1);
				surgeSwitchboard.SendMessage("IncrementImpulseCounter");
				surgeSwitchboard.SendMessage("EventOccurred", "left_impulse");
				Input.ResetInputAxes();
				leftEffectTimer = Time.time;
			}
			
			if(Input.GetKeyUp("up")) {
				surgeRigidbody.AddForce(switchboardScript.upDirectionVector * impulseStrength);
				surgeSwitchboard.SendMessage("IncrementImpulseCounter");
				surgeSwitchboard.SendMessage("EventOccurred", "up_impulse");
				Input.ResetInputAxes();
				upEffectTimer = Time.time;
			}
			
			if(Input.GetKeyUp("down")) {
				surgeRigidbody.AddForce(switchboardScript.upDirectionVector * impulseStrength * -1);
				surgeSwitchboard.SendMessage("IncrementImpulseCounter");
				surgeSwitchboard.SendMessage("EventOccurred", "down_impulse");
				Input.ResetInputAxes();
				downEffectTimer = Time.time;
			}

I assume this is in fixed update ? Such code might have problems in update.

Yes, this code is contained in FixedUpdate.

I’m having this problem with getKey and am using Fixed update too.

I noticed that people are getting around it using the axis commands which are fine for direction, but what about space for Jump etc.

Seems a few people are having this problem so thought I’d bring it up again see if there’s any new info.

Unfortunately, I don’t have any new information about this. We used the axis method to overcome the issues that we were having. If you find a solution, please let me know.

Have you reported this as a bug?