godot-signals-eventslisted
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Godot Signals and Events
## Purpose
Signals are Godot's observer implementation and the main tool for decoupling a
node from whatever cares about it. In Godot 4 they stopped being strings and
became objects: `damaged` is a property of type `Signal`, `damaged.emit(10)` is
a method call, and `damaged.connect(_on_damaged)` takes a `Callable`. That
change removed a whole class of typo bugs and introduced a new one — a
connection is now a reference between two objects, with lifetime rules. This
skill covers the mechanics, the flags that matter, and the architectural
question of how much should travel through signals at all.
## When to use
- Wiring a node to something that reacts to it.
- A handler runs twice, or stops running after a scene reload.
- Deciding between a direct method call, a signal, and a global event bus.
- Porting `connect("sig", self, "_method")` from Godot 3.
- Chasing "Attempt to call function on a previously freed instance" inside a
signal callback.
- A codebase where finding what handles an event requires a full-text search.
## When NOT to use
- Scene tree shape and node ownership — `godot-scene-composition`.
- General GDScript syntax and lifecycle — `godot-gdscript-patterns`.
- Input events specifically, which have their own propagation chain —
`godot-ui-control-nodes` covers the `_input` / `_gui_input` /
`_unhandled_input` ordering.
- Network replication, which is not a signal problem — `godot-multiplayer`.
## Required context
- **Major vers