Use C/.NET in Godot 4.7: partial classes extending nodes, the PascalCase lifecycle (Ready/Process/PhysicsProcess), [Export] fields, [Signal] delegates as C events, type-safe node lookup, and calling…

Apache-2.0Auto-check passedGame Development

Install Godot Csharp

skills CLI
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-csharp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills godot-csharp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/godot/godot-csharp .claude/skills/godot-csharp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
godot-csharp
GitHub stars
1.4k
Token cost
~1.7k tokens
SKILL.md length
473 words
Files
2 (incl. references)
Skills in repo
53
Repo updated
First seen
Licence
Apache-2.0

At a glance

Use C/.NET in Godot 4.7: partial classes extending nodes, the PascalCase lifecycle (Ready/Process/PhysicsProcess), [Export] fields, [Signal] delegates as C events, type-safe node lookup, and calling…

  • Works in 4 steps: A node script: lifecycle, [Export],… → Signals as C# events → Instancing a scene in C → …
  • Writing Godot game code in C (.cs files
  • SKILL.md covers When to use, Core workflow, Patterns and Pitfalls, plus 2 more sections
  • Calls dotnet

What it does

Godot Csharp is an agent skill from gamedev-skills/awesome-gamedev-agent-skills. Use C/.NET in Godot 4.7: partial classes extending nodes, the PascalCase lifecycle (Ready/Process/PhysicsProcess), [Export] fields, [Signal] delegates as C events, type-safe node lookup, and calling between C and GDScript. Use when writing Godot game code in C (.cs files, .csproj), needing the Godot .NET build, converting GDScript patterns to C, or wiring Godot signals as C events.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/csharp-setup-and-interop.md`).

It sits in Game Development, covering Game development. It works with Godot, C# and .NET. The repository describes itself as: 74 game-dev skills for AI coding agents — Godot, Unity, Unreal, Phaser, PixiJS, three.js, Bevy, pygame, LÖVE, Roblox. Portable SKILL.md Agent Skills (the format Anthropic… The licence is Apache-2.0.

When your agent uses it

  • Writing Godot game code in C (.cs files
  • Needing the Godot .NET build
  • Converting GDScript patterns to C
  • Wiring Godot signals as C events

Example prompts

  • “/godot-csharp”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. A node script: lifecycle, [Export], GetNode
  2. Signals as C# events
  3. Instancing a scene in C
  4. Interop with GDScript nodes

What it can do on your machine

Read from SKILL.md and the folder at commit 0a70cfc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Godot Csharp loads about 1.7k tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 102 tokens; SKILL.md has 473 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gamedev-skills/awesome-gamedev-agent-skills at commit 0a70cfc, republished under its Apache-2.0 licence (© gamedev-skills). 473 words, ~1,663 tokens.

Download SKILL.mdSave it as .claude/skills/godot-csharp/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
godot-csharp
description
Use C#/.NET in Godot 4.7: partial classes extending nodes, the PascalCase lifecycle (_Ready/_Process/_PhysicsProcess), [Export] fields, [Signal] delegates as C# events, type-safe node lookup, and calling between C# and GDScript. Use when writing Godot game code in C# (.cs files, .csproj), needing the Godot .NET build, converting GDScript patterns to C#, or wiring Godot signals as C# events.

Godot C# / .NET (4.x)

Write Godot game code in C#: node subclasses, the engine lifecycle, exports, signals as events, and GDScript interop. Targets Godot 4.7 (.NET / C#) and .NET 8.

When to use

  • Use when scripting a Godot game in C# (.cs + .csproj), translating GDScript idioms to C#, exposing [Export] fields, or wiring [Signal] delegates and GetNode<T>.

When not to use: GDScript-specific syntax → godot-gdscript; engine concepts that are language-neutral (scenes, physics, animation) → the relevant godot-* skill. You need the Godot .NET build + the .NET SDK installed; the standard build can't run C#.

Core workflow

  1. Use the Godot .NET editor build and install the matching .NET 8 SDK. Creating the first C# script generates a .csproj/.sln. Build with the editor or dotnet build.
  2. Every node script is a partial class extending a Godot type (the source generator relies on partial). The file/class name should match the node script.
  3. Override lifecycle methods in PascalCase with double delta: _Ready(), _Process(double delta), _PhysicsProcess(double delta).
  4. Expose tunables with [Export]; they show in the Inspector like GDScript @export.
  5. Declare signals as [Signal] delegates named XxxEventHandler; emit with EmitSignal(SignalName.Xxx, ...) and subscribe with the generated C# event.
  6. Get nodes with GetNode<T>("Path") (or %Unique), and call into GDScript with Call/Get/Set when needed.

Patterns

1. A node script: lifecycle, [Export], GetNode<T>
csharp
using Godot;

public partial class Player : CharacterBody2D
{
    [Export] public float Speed = 200.0f;          // editable in the Inspector
    [Export] public float JumpVelocity = -400.0f;

    private const float Gravity = 1200.0f;
    private AnimatedSprite2D _sprite;

    public override void _Ready()
    {
        _sprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
    }

    public override void _PhysicsProcess(double delta)
    {
        Vector2 v = Velocity;                       // Velocity is a property here
        if (!IsOnFloor())
            v.Y += Gravity * (float)delta;          // delta is double; cast for float math
        if (Input.IsActionJustPressed("jump") && IsOnFloor())
            v.Y = JumpVelocity;

        float dir = Input.GetAxis("move_left", "move_right");
        v.X = dir != 0 ? dir * Speed : Mathf.MoveToward(v.X, 0, Speed);

        Velocity = v;
        MoveAndSlide();                             // no args, like GDScript 4.x
    }
}
2. Signals as C# events
csharp
using Godot;

public partial class Health : Node
{
    // Delegate name MUST end with "EventHandler"; generator creates the event + SignalName.
    [Signal] public delegate void HealthChangedEventHandler(int current, int max);

    private int _hp = 100;

    public void TakeDamage(int amount)
    {
        _hp = Mathf.Max(_hp - amount, 0);
        EmitSignal(SignalName.HealthChanged, _hp, 100);   // type-safe signal name
    }

    public override void _Ready()
    {
        HealthChanged += OnHealthChanged;            // subscribe like a normal C# event
    }

    private void OnHealthChanged(int current, int max) => GD.Print($"HP {current}/{max}");
}
3. Instancing a scene in C#
csharp
public partial class Spawner : Node2D
{
    // Load once; PackedScene is the C# equivalent of preload's result.
    private readonly PackedScene _bullet = GD.Load<PackedScene>("res://bullet.tscn");

    public void Shoot(Vector2 at)
    {
        var b = _bullet.Instantiate<Node2D>();       // typed instantiate
        b.GlobalPosition = at;
        AddChild(b);
    }
}
4. Interop with GDScript nodes
csharp
public override void _Ready()
{
    Node gd = GetNode("GDScriptNode");
    // Call a GDScript method and read/write its properties dynamically.
    gd.Call("take_damage", 10);
    int score = (int)gd.Get("score");
    gd.Set("score", score + 5);
    // Connect to a GDScript signal by name:
    gd.Connect("died", Callable.From(OnDied));
}

private void OnDied() => GD.Print("entity died");
Show full SKILL.md (240 more words)Show less

Pitfalls

  • Forgetting partial. Without partial, the Godot source generator can't extend the class and [Export]/[Signal] break with confusing build errors.
  • Wrong method case/signature. C# overrides are _Ready, _Process(double), _PhysicsProcess(double) — PascalCase and double delta (GDScript uses snake_case and float). A mismatched name just won't be called.
  • [Signal] delegate naming. It must end with EventHandler; the engine exposes the signal as the name without that suffix and generates SignalName.X and a C# event.
  • GD.Print vs Console.WriteLine. Use GD.Print/GD.PrintErr to reach the Godot output panel; Console output may not appear.
  • Value-type structs. Vector2, Color, Transform2D are structs — mutate a local copy (var v = Velocity; v.X = ...; Velocity = v;); editing Velocity.X directly won't compile/persist.
  • Needs the .NET build + SDK. The non-.NET editor can't run C#; mismatched/missing .NET SDK causes build failures. Godot 4.7 targets .NET 8; check current platform export notes because Android and other AOT targets can require newer SDK tooling.
  • QueueFree() vs Free() — same rules as GDScript; prefer QueueFree(). Disposed objects throw ObjectDisposedException if used after freeing.
  • Export to some platforms differs for .NET (e.g. extra steps for web/mobile); check the .NET export notes for your target.

References

  • For export attribute variants ([ExportGroup], ranges, typed arrays), async with await ToSignal(...), Godot.Collections vs System collections, custom Resources in C#, and project/build setup, read references/csharp-setup-and-interop.md.
  • godot-gdscript — the GDScript equivalents of these patterns.
  • godot-signals-groups — signal/event architecture (language-neutral).
  • godot-resources — data resources; the C# [Export] + Resource pattern.
  • unity-csharp-scripting — C# in Unity, for developers coming from there.

© gamedev-skills, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/godot/godot-csharp of gamedev-skills/awesome-gamedev-agent-skills.

  • SKILL.md
  • references/csharp-setup-and-interop.md

Open the folder on GitHubat commit 0a70cfc

Compare with similar skills

Godot Csharp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Godot Csharp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Godot Csharp this skillgamedev-skills/awesome-gamedev-agent-skills1.4k—~1.7kAutomated safety check: PassApache-2.0
Godot 2D Essentialsjame581/GodotPrompter805—~2.3kAutomated safety check: PassMIT
Godot Admob App Openpoingstudios/godot-admob-plugin632—~1kAutomated safety check: PassMIT
Godot 3D Essentialsjame581/GodotPrompter805—~3.7kAutomated safety check: PassMIT
Godot Admob Bannerpoingstudios/godot-admob-plugin632—~718Automated safety check: PassMIT
Godot Admob Get Startedpoingstudios/godot-admob-plugin632—~1kAutomated safety check: PassMIT

Similar skills

  • Godot 2D Essentials

    jame581/GodotPrompter

    Covers Godot 4.3+ 2D systems with GDScript and C# examples: canvas layers, draw order, TileMaps, parallax, lights and shadows, particles and custom drawing.

    805 GitHub stars~2.3k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot Admob App Open

    poingstudios/godot-admob-plugin

    Provides instructions to implement, load, show, and destroy App Open ads (shown on application startup or app resume) in GDScript and C.

    632 GitHub stars~1k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Godot 3D Essentials

    jame581/GodotPrompter

    Covers Godot 4.3+ 3D systems such as materials, lighting, shadows, environment, global illumination, fog, LOD, occlusion culling and decals, with GDScript first and C# second.

    805 GitHub stars~3.7k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot Admob Banner

    poingstudios/godot-admob-plugin

    Provides instructions to implement, load, and destroy banner ads (AdView) using custom or adaptive sizes in GDScript and C.

    632 GitHub stars~718 tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Godot Admob Get Started

    poingstudios/godot-admob-plugin

    Provides instructions to initialize the Godot AdMob SDK and configure user consent (UMP Flow) in GDScript and C.

    632 GitHub stars~1k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Godot Addon Development

    jame581/GodotPrompter

    Covers Godot 4.3+ editor plugins: plugin folders, @tool scripts, the EditorPlugin lifecycle, custom inspectors, dock panels and gizmos, in GDScript and C#.

    805 GitHub stars~3.3k tokensUpdated yesterday
    Game DevelopmentAuto-check passed

More from gamedev-skills/awesome-gamedev-agent-skills

All 53 skills in this repo
  • Create Game Assets

    gamedev-skills/awesome-gamedev-agent-skills

    Plan, generate, source, normalize, and validate cohesive visual game assets.

    1.4k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Roblox UI

    gamedev-skills/awesome-gamedev-agent-skills

    Build production Roblox interfaces with ScreenGui/PlayerGui lifecycle, responsive UDim2 layouts, safe insets, reusable editable Instances, cross-device input and selection, restrained motion…

    1.4k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • AI Behavior Trees Utility AI

    gamedev-skills/awesome-gamedev-agent-skills

    Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system (response curves — linear, exponential…

    1.4k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Bevy Ecs

    gamedev-skills/awesome-gamedev-agent-skills

    Structure a Bevy app around its Entity Component System: build the App with plugins, define Component/Resource types, write systems with Query/Res/Commands, filter and order systems, and use the…

    1.4k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Card Game

    gamedev-skills/awesome-gamedev-agent-skills

    Build a card game: card data, deck/hand/discard zones, draw/shuffle/reshuffle, a turn structure, costs, and effect resolution.

    1.4k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Fps Shooter

    gamedev-skills/awesome-gamedev-agent-skills

    Build a first-person shooter: move+mouse-look controller, hitscan or projectile shooting, weapons, health, and enemy AI.

    1.4k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Godot Csharp

What does Godot Csharp do?

Use C/.NET in Godot 4.7: partial classes extending nodes, the PascalCase lifecycle (Ready/Process/PhysicsProcess), [Export] fields, [Signal] delegates as C events, type-safe node lookup, and calling…. Godot Csharp is an agent skill from gamedev-skills/awesome-gamedev-agent-skills.7: partial classes extending nodes, the PascalCase lifecycle (Ready/Process/PhysicsProcess), [Export] fields, [Signal] delegates as C events, type-safe node lookup, and calling between C and GDScript.

When should I use Godot Csharp?

Godot Csharp fits situations like: writing Godot game code in C (.cs files; needing the Godot .NET build; converting GDScript patterns to C; wiring Godot signals as C events.

How do I install Godot Csharp in Claude Code?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-csharp -a claude-code`. Or copy the skill folder (skills/godot/godot-csharp in gamedev-skills/awesome-gamedev-agent-skills) into .claude/skills/godot-csharp in your project. Claude Code loads it when a task matches its description.

How do I install Godot Csharp in Codex?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-csharp -a codex`. Or copy the skill folder (skills/godot/godot-csharp in gamedev-skills/awesome-gamedev-agent-skills) into .agents/skills/godot-csharp in your project. Codex loads it when a task matches its description.

Can I use Godot Csharp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-csharp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/godot-csharp, .gemini/skills/godot-csharp, .github/skills/godot-csharp and .opencode/skills/godot-csharp in your project.

What does Godot Csharp need to run?

Going by SKILL.md and its folder, Godot Csharp needs the command-line tools its instructions call (dotnet).

Does Godot Csharp access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Godot Csharp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Godot Csharp use?

Godot Csharp is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Godot Csharp use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 978 tokens, read only when the agent opens those files.

What are the alternatives to Godot Csharp?

Skills that share tags, products or a category with Godot Csharp: Godot 2D Essentials (jame581/GodotPrompter, 805 stars), Godot Admob App Open (poingstudios/godot-admob-plugin, 632 stars), Godot 3D Essentials (jame581/GodotPrompter, 805 stars) and Godot Admob Banner (poingstudios/godot-admob-plugin, 632 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Godot Csharp?

gamedev-skills (a GitHub organization) maintains it in gamedev-skills/awesome-gamedev-agent-skills, which has 1,389 GitHub stars. The repository holds 53 skills in this directory. The repository was last updated on October 9, 2026.

Source: gamedev-skills/awesome-gamedev-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.