Pulse Works Studio

Parent node is busy setting up children, `add_child()` failed. Consider using `add_child.call_deferred(child)` instead.

add_child() was called while Godot was already adding or removing children.

Cause

Node refuses a new child when its child list is locked, which happens during setup and during some notifications. The engine message names the workaround: defer the add so it runs after the current operation finishes.

Fix

func attach(child: Node) -> void:
	if is_inside_tree():
		add_child.call_deferred(child)
	else:
		add_child(child)

Related

Godot Dev Tools is a Pulse Works Studio project. All error explainers.