csharp-signals
CommunityMaster C# signals in Godot for event patterns.
System Documentation
What problem does it solve?
Godot 4.x projects using C# require a clear, reliable model for declaring, emitting, and reacting to signals while avoiding memory leaks. This skill consolidates the best practices for [Signal]-based communication: explicit signal declaration with the EventHandler suffix, EmitSignal usage with generated SignalName constants, safe connection management, and asynchronous waiting.
Core Features & Use Cases
- Declare signals with [Signal] attributes and the required EventHandler suffix to expose engine signals correctly.
- Emit signals using EmitSignal and the generated SignalName constants to ensure runtime correctness.
- Connect and disconnect signals safely in _Ready() and _ExitTree(), with guards like IsInstanceValid to avoid leaks.
- Await signals asynchronously via ToSignal, including value handling for signals with parameters.
- Use custom payload wrapper classes (RefCounted-derived) or a static C# event bus for performance-critical or pure-C# workflows.
- Bridge GDScript signals from C# when needed using Connect with Callable.From for snake_case signal names.
Quick Start
Start by declaring a signal with [Signal] in a Godot C# class, then emit it and wire a handler in _Ready(), ensuring you disconnect in _ExitTree() to prevent memory leaks.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: csharp-signals Download link: https://github.com/jame581/GodotPrompter/archive/main.zip#csharp-signals Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.