architecture
[Key Press] Stop Input.GetKeyDown Double Triggers
Solution
Unity 2021.x - Unity 6.3.x
Published Sun, Mar 22
An input-driven action is being triggered continuously while a key is held down. This behavior leads to unintended physics accumulation or repeated logic execution instead of a single, controlled trigger event using Input.GetKeyDown.
Quick-Fix
Ensure atomic action execution by transitioning from continuous polling to frame-specific edge detection using Input.GetKeyDown.
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float upwardForce = 10.0f;
public Rigidbody targetRigidbody;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
targetRigidbody.AddForce(Vector3.up * upwardForce, ForceMode.Impulse);
}
}
}
Related Posts Haven't quite found a solution to your problem? We think these posts might help you.
[Physics] Enabling Trigger-Trigger Interaction and Overlap Detection[Input System] Callbacks Not Firing[Vector Graphics] Referencing SVG Assets via C# Scripts
Content inspired by a Unity discussion post.