Godot csharp
Skill a5c-ai/babysitter/library/specializations/game-development/skills/godot-csharp
Godot C# programming skill for .NET integration, scripting patterns, and performance optimization.From its SKILL.md
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.
SKILL.md
2.1 KB, 425 tokens by cl100k_base, 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
References
What ships with it: 1 file
796 B alongside SKILL.md
- README.md796 B