Quick answer: Godot 4 is_action_just_pressed missing some presses despite InputEvent firing? just_pressed checks frame edges; rapid presses can collapse into one frame.

Two presses within 16ms; first frame sees pressed; second frame sees just_pressed false.

Use _input handler

Per-event handler; counts every press. Reliable.

Or buffer presses

Track press events in a queue; consume per frame.

Audit input frequency

If players press very fast (e.g., rhythm games), polling is the wrong primitive.

“Polling collapses fast events. Event handling counts each.”

For rhythm or fighter games, event-based input is mandatory. Polling misses too many.

Related reading