Quick answer: Godot 4 process_priority set on a node not affecting order until next frame? Tree caches process order; recompute via _exit_tree / _enter_tree.

Add a node with high priority; expect it to tick first; ticks last.

Set before add

node.process_priority = 100; parent.add_child(node). Order computed at add.

Or call_deferred re-add

Re-add forces order recompute.

Audit priority changes

Each runtime priority change has timing.

“Process order is cached. Mutations need explicit invalidation.”

If priority changes don't apply immediately, the re-add or set-before-add pattern is the fix.

Related reading