agentsclimarketplace

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

Install
npx -y skills add a5c-ai/babysitter --skill godot-csharp

Assembled 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

  1. Use partial classes
  2. Leverage NuGet packages
  3. Handle node lifecycle
  4. Profile memory usage
  5. Use source generators

References

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.