Quick answer: Godot Timer node continuing to fire after get_tree().paused = true? The Timer’s process_mode may be ALWAYS or WHEN_PAUSED — configure for pause to stop it.

An ammo regen timer keeps adding ammo while the game is paused. The Timer’s process_mode is ALWAYS.

process_mode Settings

Pausable: stops on pause (most timers). Inherit: follows parent. When Paused: only runs when game is paused (rare). Always: runs regardless. Pick consciously per timer.

Inherit from Parent

For gameplay-tied timers, set Inherit on the Timer and Pausable on the parent. Toggling parent’s mode affects all children.

Always for Music / UI

Background music or UI animations may need Always so they don’t freeze on pause. Place these on dedicated nodes with appropriate modes.

Verify Tree Paused State

If pause doesn’t seem to take effect: print(get_tree().paused). May not be set where you expected.

Verifying

Game-state timers pause cleanly. Music timers continue. Resume restores correct timer states.

“process_mode controls pause behavior per Timer. Inherit for gameplay; Always for ambient.”

Default new Timers to Inherit — their parent decides. Centralizes pause logic at the parent rather than scattered across leaf nodes.