How-to guides
Each guide is a task with the commands to finish it. If you are new here, read getting started first.
Authoring
Build a scene: create a scene, add nodes and properties, work with sub-resources, and move nodes around without breaking the tree.
Instance and override: put one scene inside another, override exported values on the instance, and reach editable children when you must.
Build UI: Control trees with anchors, containers, theme overrides, and unique names, in the shape the editor writes them.
Author .tres resources: materials, themes, and shapes as files the editor would have saved, with sub-resources and external references.
Edit project settings: the input map, autoloads, editor plugins, rendering and physics backends, and the main scene, all in project.godot.
Working with agents
Teach an agent your sub-scenes is the one to read first. It walks the component catalog end to end, from describing a scene you have already built to an agent instancing it by id instead of rebuilding it from raw nodes.
Godot basics a coding agent needs: projects, scenes, and Control layout as Godot assumes them, and the rules text that stops an agent positioning a panel with a label the runtime ignores.
Set up an agent: install the skill, write project rules that keep an agent authoring scene files, and recognise the three ways it drifts back to building nodes in code.
Editing at scale
Batch edits with intents and patches: describe a whole change as JSON, preview it, apply it in one write, undo it.
Review and validate changes: what each validation error means, node and property diffs, snapshots, and what a human should still look at before committing a generated scene.
Verify a change by running the game: the loop that says whether a change worked — run, read the frame and the log, and click a button or hold an input action to prove the wiring, without test code in the game.
Run the game and capture a screenshot and the log: the same thing by hand, for when you want to adapt the Godot commands underneath.
Working on a project that already exists
Refactor an existing project: pull a subtree into its own scene, move files without leaving stale res:// paths, rename and reparent, and find the script lines that still reach into what you moved.
Compatibility and scripting
Stay byte-compatible with Godot: save preparation, id sessions, the UID cache, normalization, and comparing your output against a file the editor saved.
Script godot-cli: the JSON envelope, exit codes, JSON requests, the batch runner, and shell completions.