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.