Quick answer: Godot 4 is_action_just_pressed returning false on the first frame after unpause? Input state is captured per-frame; unpause skips an input frame.

Player resumes the game with Esc. The same Esc opens a sub-menu but the press is missed.

Wait one frame after unpause

Insert a await get_tree().process_frame between unpause and resuming input checks. The skipped frame is short and unnoticed.

Or poll is_action_pressed

Continuous-state polling is unaffected by frame timing. Use just_pressed for menus; pressed for held actions.

Set process_mode on input node

Input handler with Process Mode = Always continues to tick during pause; the first post-unpause frame is observed correctly.

“Pause stops processing. Edge-detected input depends on processing.”

Centralize input handling in a single autoload with Process Mode = Always. Pause-related bugs disappear because input doesn't pause.