Godot csharp
Skill a5c-ai/babysitter/library/specializations/game-development/skills/godot-csharp
Babysitter enforces obedience on agentic workforces and enables them to manage extremely complex tasks and workflows through deterministic, hallucination-free self-orchestration
npx -y skills add a5c-ai/babysitter --skill godot-csharpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Godot C# programming skill for .NET integration, scripting patterns, and performance optimization.
SKILL.md
2.1 KB, as published. Nobody here has run it
Godot C# Skill
C# programming for Godot Engine development.
Overview
This skill provides capabilities for implementing game logic using C# in Godot, leveraging .NET integration.
Capabilities
C# Integration
- Node class inheritance
- Attribute-based exports
- Signal definitions
- Callable system
.NET Features
- NuGet packages
- Async/await patterns
- LINQ queries
- .NET libraries
Interoperability
- Call GDScript from C#
- Expose to GDScript
- Handle Variant types
- Manage signals
Performance
- Struct usage
- Memory management
- Object pooling
- Span usage
Prerequisites
- Godot 4.0+ with .NET support
- .NET SDK installed
- C# IDE (VS Code, Rider)
Usage Patterns
Node Script
using Godot;
public partial class Player : CharacterBody2D
{
[Export]
public float Speed { get; set; } = 200f;
[Signal]
public delegate void HealthChangedEventHandler(int newHealth);
private int _health = 100;
public override void _Ready()
{
// Initialize
}
public override void _PhysicsProcess(double delta)
{
var velocity = Vector2.Zero;
velocity.X = Input.GetAxis("move_left", "move_right");
velocity.Y = Input.GetAxis("move_up", "move_down");
Velocity = velocity.Normalized() * Speed;
MoveAndSlide();
}
}
Signal Connection
button.Pressed += OnButtonPressed;
// or
button.Connect("pressed", Callable.From(OnButtonPressed));
Best Practices
- Use partial classes
- Leverage NuGet packages
- Handle node lifecycle
- Profile memory usage
- Use source generators