Event Bus
The Event Bus provides type-safe pub/sub on top of Godot’s signal architecture. Events are plain C# types — records work well.
Defining an Event
Section titled “Defining an Event”public record PlayerDied(string PlayerName, Vector2 Position);Subscribing
Section titled “Subscribing”EventBus.Subscribe<PlayerDied>(e =>{ GD.Print($"{e.PlayerName} died at {e.Position}");});Publishing
Section titled “Publishing”EventBus.Publish(new PlayerDied("Hero", GlobalPosition));Priority
Section titled “Priority”Higher priority subscribers run first.
EventBus.Subscribe<PlayerDied>(OnDeath, priority: 10);Unsubscribing
Section titled “Unsubscribing”EventBus.Unsubscribe<PlayerDied>(handler);