Seventeen units. The architecture unit is first because everything else in the engine is a consequence of it; physics gets a full unit because collision layers and masks are the most common silent failure; and the last two units are about shipping, which is the part most learners never practise.
A1
Scenes and nodes — the one idea the engine is built from
Kplanned🔴 Godot is a single architectural idea repeated at every scale, and learners who miss it fight the engine indefinitely. Everything is a node; a tree of nodes is a scene; a scene can be instanced as a node inside another scene. There is no separate prefab concept, no entity-component split to learn, and no distinction between a level and an object other than how you use it. Grasp this in the first unit and the rest of the engine is discoverable; miss it and every tutorial reads like arbitrary ritual.
A2
The project on disk — resources, scenes and scripts
KplannedWhat the editor is actually manipulating. Scene files and resource files as saved data, the distinction between a resource shared by reference and one duplicated per instance — which is the source of the classic 'why did changing one enemy change all of them' bug — the import pipeline for assets, and a project layout that survives growth. Understanding the files also makes the project reviewable in version control instead of an opaque binary.
A3
GDScript
KSplannedThe language, taught with its differences from Python stated explicitly, because the resemblance is close enough to be actively misleading. Static typing and why it is worth using despite being optional, the annotation that exposes a variable to the editor, node references and how they are obtained, and signal declaration. A Skill element: fluency comes from writing, and the assessment is working code.
A4
The frame loop and the node lifecycle
KplannedWhen your code runs. The lifecycle callbacks in order and what is safe to do in each — reaching for a child node before the tree is ready is the most common early crash — and then the two per-frame callbacks: one that runs as fast as the machine allows and one that runs at a fixed rate for physics. Multiplying by frame delta so behaviour is frame-rate independent belongs here, and it is the difference between a game that plays the same on two machines and one that does not.
A5
Signals, and decoupling
KplannedThe engine's event mechanism, and the architectural discipline that comes with it. A node emits a signal and does not know or care what listens; the alternative is reaching across the tree by path, which works until anything moves. This unit is really about dependency direction — call down the tree, signal up it — and it is the single habit that most determines whether a project is still workable at ten thousand lines.
A6
Composition — instancing and communication between scenes
KSplannedBuilding a game from reusable pieces. Instancing scenes at runtime, passing data in without hardcoded paths, autoloaded singletons for genuinely global state and the discipline not to put everything in them, and the patterns for scenes that must coordinate. This is where the idea from A1 becomes a working practice rather than a fact.
A7
2D fundamentals
KplannedThe transform hierarchy and how a parent's transform composes with a child's, sprites and texture filtering, cameras and viewports, drawing order and layers, and the coordinate spaces that a beginner conflates — world, screen and canvas. 2D comes before 3D because the concepts are identical with one fewer dimension of confusion, and the debugging is visual.
A8
Physics and collision
KSplanned🔴 The highest-frustration area for new developers, and almost always the same cause. Collision layers and masks are two separate bit fields with an asymmetric meaning — what an object is, and what it looks for — and getting them backwards produces collisions that silently do not happen with no error anywhere. Also the body types and when each is right: a character moved by code is not a rigid body, and using a rigid body for a player is a decision people regret.
A9
Input
KplannedActions rather than raw keys, so that rebinding, multiple devices and gamepads work without touching gameplay code. Covers the input map, the difference between polled and event-driven input and when each is correct, and input buffering — which is not an optimisation but the thing that makes controls feel responsive rather than unfair.
A10
Animation and state
KSplannedThe animation system as a general property-tweening tool rather than a sprite feature: it can animate any property of any node, including calling functions on a timeline. State machines for character behaviour, blending, and lightweight tweens for interface motion. Placed after physics because character animation and character movement have to be reconciled, and reconciling them is the actual skill.
A11
User interface
KSplannedThe control node hierarchy, which follows different layout rules from the rest of the engine — anchors, containers and size flags rather than manual positioning — and that mismatch is what makes UI feel like a separate engine to learn. Covers theming, responding to multiple resolutions, and the focus and navigation handling that makes an interface usable with a gamepad.
A12
Audio
KplannedBuses and effects, streamed music versus loaded samples, positional audio in 2D and 3D, and the mixing discipline that makes a game sound intentional. Short, and included because audio is the element most consistently left until the last week and most consistently changes how finished a game feels.
A13
Persistence and configuration
KSplannedSaving and loading state without inventing a fragile format: what serialises cleanly, what does not, versioning a save so an update does not orphan players, user settings, and where files are actually allowed to be written on each platform. Includes the security note that deserialising arbitrary saved data can execute code, which is a real consideration for anything sharing save files.
A14
3D
KplannedDeliberately late and deliberately not the focus. Spatial nodes, meshes and materials, lighting and environment, and the import path from a modelling tool — which connects directly to the CAD paths elsewhere in this catalogue. Framed as an extension of the 2D concepts rather than a new engine, because in Godot that is genuinely what it is.
A15
Performance
KSplannedMeasuring before optimising, using the profiler to find where frame time actually goes, and the usual culprits: draw calls, per-frame allocation, physics bodies that could be areas, and processing that could be event-driven. Includes object pooling and the general principle that the cheapest work is the work not scheduled. A Skill — closed by taking a real project from a measured frame time to a better one.
A16
Exporting and shipping
KRplannedThe step that turns a project into something other people can run, and the one hobby projects most often never reach. Export templates and per-platform configuration, packaging assets, the licensing and attribution obligations for the engine and any third-party assets — a genuine Risk element, since attribution failures are a legal problem rather than an aesthetic one — and testing on a machine that is not the development one.
A17
Ship a small game
SplannedThe capstone, and the only honest assessment in this field. Small in scope, actually finished, exported, and playable by someone else without your help. A Skill element by construction: no deck, quiz or tutorial completion substitutes for a finished game, and finishing is the specific thing most people never practise.