godot · git:20261101.cb769e1 · 2026-11-01 · sha256 6fd0ee7bc925f846
godot git:20261101.cb769e1A
Immutable. This exact content never changes and is served at /api/v1/blob/6fd0ee7bc925f846.
--- name: godot description: Godot 4 game and tool development, explanation, review, and debugging across 2D/3D, scenes, resources, GDScript, C#, and C++ GDExtension with godot-cpp. Use for native integration, gameplay/UI, profiling, testing, and exports in Godot. Not for other engines, generic C++ work, or full engine-fork development; recognize Godot 3/GDNative separately rather than silently porting it. --- # Godot Apply this domain overlay to Godot-specific decisions. Give native integration particular depth without making C++ the default language for every task. Preserve the project's language, renderer, build system, and supported versions unless the requested change needs a deliberate adjustment. ## Select the activity - **Explain:** answer the concept directly, with a small example when useful. A conceptual question needs no repository, executable, or installation. - **Design:** propose the relevant scenes, responsibilities, interactions, and validation. Resolve consequential choices; a design request alone makes no edits. - **Review or diagnose:** inspect sources and supplied evidence, report concrete findings and uncertainty. Keep source-only reviews free of project execution. - **Implement or fix:** trace the affected behavior, make scoped source changes, and verify the relevant layers within the request's authorization. Infer the activity from the request. Reuse existing authorization; ask only for missing information that materially affects the result. For a new project, honor the user's language and platform choices; clarify a consequential unresolved language choice rather than silently choosing C++ or GDScript. ## Ground project-dependent work 1. Read applicable instructions and working-tree changes. Locate `project.godot`, relevant scenes/scripts/resources, autoloads, addons, and existing test/build entrypoints. Inspect only the subsystem needed for the task. 2. Establish the intended Godot version from project/CI documentation and reconcile it with the executable when running tools. Project format/features are clues, not an exact patch-version lock. Record the renderer and target platforms when they affect the work. Recognize Godot 3/GDNative before using Godot 4 guidance. 3. For C++, independently identify the godot-cpp revision, target Godot API, native build configuration, and `.gdextension` mapping. Read the C++ reference before changing native code, registration, build configuration, or loading behavior. 4. Trace the source-to-behavior path: script/native class, scene instantiation, resources, input/signals, and any export boundary touched. Fix the demonstrated cause; do not introduce event buses, pools, autoloads, or migrations by default. 5. Choose checks that can demonstrate the requested behavior. Distinguish what source inspection predicts from what actually compiled, loaded, ran, or rendered. Use version-matched official documentation and the pinned dependency's own documentation/source for material API or toolchain decisions. `stable` is a moving alias; `latest` can describe unreleased features. Do not upgrade a project to make an example fit. When sources disagree, identify their versions and verify the specific API/build option rather than combining incompatible instructions. ## Read selectively | Task needs | Reference | |---|---| | Scene structure, lifecycle, resources, imports, UIDs, or source edits | [Projects, scenes, and resources](references/projects-scenes-resources.md) | | C++ GDExtension, binding compatibility, ownership, registration, builds, or native loading | [GDExtension and C++](references/gdextension-cpp.md) | | GDScript, C#, or script/native interoperability | [Scripting integration](references/scripting-integration.md) | | Gameplay, physics/input, UI, animation/audio, rendering, or performance choices | [Gameplay and presentation](references/gameplay-presentation.md) | | Executing checks, interpreting failures, debugging, or producing exports | [Debugging, testing, and export](references/debugging-testing-export.md) | | Maintaining technical claims or locating authoritative documentation | [Sources](references/sources.md) | | Maintaining this skill's routing and behavioral checks | [Evaluation procedure and expectations](references/trigger-evals.md); [raw fixtures](references/behavior-fixtures.md) | Do not load every reference for an ordinary task. Maintenance cases and grading criteria are not game-development instructions. ## Execution and composition Opening/importing a project can run editor plugins, tool scripts, and native extensions and write metadata. Native builds and tests execute project tooling. Read the validation reference before those actions; keep them within the request's scope. Source-only review is not authorization to import, launch, build, or install. When execution is authorized, continue necessary checks without repeated approval requests. Missing tools justify an explicit validation gap, not invented success. Use existing capabilities; no particular MCP server, editor automation tool, test addon, or IDE is assumed. Adding dependencies, changing engine versions, generating assets, and publishing builds are separate choices, not automatic consequences of using this skill. For C++ implementation/review, compose with `coding-guidance-cpp` when available. Godot's allocation, `RefCounted`, node ownership, and threading contracts govern engine objects; generic ownership advice does not override them. Ordinary C++ types still benefit from portable C++ guidance. This skill retains the essential engine-specific rules and works without that companion. Full engine-fork/module development needs a separately scoped workflow. Explain the GDExtension/module tradeoff when relevant; do not rebuild the engine merely because a native integration is unfamiliar. ## Finish with evidence Report the answer or source changes, relevant versions, checks actually performed, and remaining uncertainty. Separate compilation, import/parsing, project tests, runtime, visual checks, and exported-artifact checks. A successful native build does not prove extension loading; a headless launch does not prove visual or interactive correctness. Do not claim untested platforms or cross-host skill installation compatibility.