CHALLENGE 1: Navigating a Scene Tree ==================================================================== TASK ---- Build a scene with a Node2D root and three Node2D children named "Head," "Body," and "Feet." Write a script on the root that uses get_children() to print the name of every child, and separately uses $Body to print that one child's name directly. SCENE STRUCTURE ---------------- Root (Node2D) |-- Head (Node2D) |-- Body (Node2D) |-- Feet (Node2D) SOLUTION CODE (attached to Root) ---------------------------------- extends Node2D func _ready() -> void: for child in get_children(): print(child.name) print("Directly via $Body: ", $Body.name) OUTPUT ------ Head Body Feet Directly via $Body: Body WHY THIS WORKS AS AN ANSWER ---------------------------- get_children() returns an Array containing every direct child of the node it's called on - here, Root's own three children - in the order they appear in the Scene panel. Looping over that Array with a for-in loop (from Chapter 2) and printing each child's .name property lists all three without needing to know their names in advance. $Body is the shorthand form of get_node("Body") - it reaches that one specific child directly by its exact name, which only works because "Body" is a real, correctly-spelled child of Root. This is the more common way to reach a *specific*, already-known node in real code, while get_children() is more useful when you need to process every child generically without caring what each one is called.