How and why can get_tree().paused be ignored?

Godot Version

v. 4.2.1


Hello. I’m new to Godot. I ran into a problem and was curious to find out how and why can get_tree().paused be ignored? That is, the code is readable, the logic is not confused, but stopping processes does not work? Sample code below

(signal) func _on_inventory_closed():
get_tree().paused = false

(signal) func _on_inventory_opened():
get_tree().paused = true

Thanks in advance for your thoughts and response!! :blue_heart:

Each node has a process_mode property which defaults to “Inherit”. That is, if a node will still process when the tree is paused is determined by the process_mode of its parent. For the root of the tree it defaults to “Pausable”, so unless you change the process_mode manually, all nodes should pause if you set get_tree().paused = true.