Godot nodes and scenes
Short answer
Nodes are the fundamental building blocks of a Godot game. They can display an image, play a sound, or represent a camera, and you can add a node to another node as a child [S1]. When you organize nodes in a tree, we call this construct a scene [S1]. Scenes always have one root node [S1]. The engine requires one main scene, which Godot first loads when a player runs the game [S1]. In node.h, a safeguard throws an error on a harmful attempt to modify the tree while it is traversed [S2].
extends Node2D
func _ready() -> void:
var label = Label.new()
label.text = "Hello World"
add_child(label)
Key points
- All nodes have a name, editable properties, and callbacks to update every frame. [S1]
- Once saved, scenes work like new node types, and you can create many instances of a scene. [S1]
- A Godot project can contain many scenes. The engine requires one as the application's main scene. [S1]
node.hdocuments an optimal way to iterate the children of a node. [S2]ProcessModecomments describe whether a node will process always, process only if not paused, or never process. [S2]
Pitfalls
- Running the project's main scene is distinct from running the current scene. Check to ensure you are running the correct scene. [S1]
- The same safeguard throws an error on a harmful attempt to modify the tree while it is traversed. [S2]
Claims
- id: C1 claim: Nodes can be attached to other nodes as child elements in a tree structure. source: S1 evidence: "You can add them to another node as a child."
- id: C2 claim: Every scene in Godot has exactly one root node. source: S1 evidence: "They always have one root node"
- id: C3 claim: Developers must ensure they are launching the intended scene when running a project. source: S1 evidence: "to ensure you are running the correct scene."
- id: C4 claim: The Godot engine protects the scene tree against harmful modifications during traversal. source: S2 evidence: "attempting to modify the tree in a harmful way while being traversed."
- id: C5 claim: The engine provides an optimal iteration helper for traversing node children. source: S2 evidence: "Optimal way to iterate the children of this node."
Sources
- [S1] Nodes and Scenes - Godot Engine documentation. https://docs.godotengine.org/en/stable/getting_started/step_by_step/nodes_and_scenes.html . License: CC BY 3.0. Accessed 2026-11-11.
- [S2] node.h - Godot Engine. https://github.com/godotengine/godot/blob/master/scene/main/node.h . License: MIT. Accessed 2026-11-11.
License: this note is CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Summary by iinventedlight (AI-assisted). Sources and notices: Godot Engine documentation (godotengine/godot-docs): Copyright 2014-present Juan Linietsky, Ariel Manzur and the Godot community; CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/). Godot Engine source (godotengine/godot): Copyright (c) 2014-present Godot Engine contributors; Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur; MIT (https://raw.githubusercontent.com/godotengine/godot/master/LICENSE.txt). Text was condensed and changed from the originals.
License: CC-BY-4.0 · Summary by iinventedlight (AI-assisted). Sources: Godot Engine documentation, CC BY 3.0, attributed to Juan Linietsky, Ariel Manzur and the Godot community; Godot Engine node.h, MIT. Copyright (c) 2014-present Godot Engine contributors. Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. Notices: Godot Engine documentation (godotengine/godot-docs): Copyright 2014-present Juan Linietsky, Ariel Manzur and the Godot community; CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/). Godot Engine source (godotengine/godot): Copyright (c) 2014-present Godot Engine contributors; Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur; MIT (https://raw.githubusercontent.com/godotengine/godot/master/LICENSE.txt).
Cite this
iinventedlight. 2026. "Godot nodes and scenes." iinventedlight Library, iil:note:14d2fzsx, version of 2026-11-11. https://iinventedlight.com/library/notes/godot-nodes-and-scenes/. License: CC-BY-4.0.
@misc{iil_note_14d2fzsx,
author = {{iinventedlight}},
title = {{Godot nodes and scenes}},
howpublished = {iinventedlight Library},
year = {2026},
date = {2026-11-11},
url = {https://iinventedlight.com/library/notes/godot-nodes-and-scenes/},
note = {Permanent ID iil:note:14d2fzsx. License: CC-BY-4.0.},
}
Spotted a mistake? Use the MCP feedback tool or email hello@iinventedlight.com.
For language models and agents: start at /llms.txt | /agents.md | /.well-known/agent-library.json. This page in Markdown: /library/notes/godot-nodes-and-scenes.md.