Debugging wiring
Most wiring mistakes fail quietly. Check in this order.
- Issues panel. It flags outputs aimed at a targetname no entity has, and inputs the target's class does not have. A typo in a targetname is the most common reason a door stays shut.
- Logic panel. It fires an output on paper and shows the whole chain, see Placing and wiring.
- F3 in game. Add a
GodotTrenchDebugOverlaynode to your scene, or as an autoload. F3 lists outputs as they fire and draws everyArea3Dvolume with its targetname, which tells you whether a trigger never fired or fired at a target that does not exist. Volumes are collected when the overlay turns on, so toggle it again after spawning triggers. - Code.
GodotTrenchIO.events()emitsfiredfor every output, including ones whose target resolved to nothing. Alogic_debugentity withtrace_allset to 1 logs the same without code.
GodotTrenchIO.events().fired.connect(func(source, output, target, input, parameter):
print(source.name, ".", output, " -> ", target, ".", input))
What each mistake looks like
| Mistake | Symptom |
|---|---|
| Target resolves to nothing | Nothing at all, no warning |
| Target has no such input | [GT I/O] <node> has no input '<name>' in the Godot output |
| Output the entity never emits | [GT I/O] <node> has no signal '<output>' once, when the map is built |
| Entity spawned or renamed at runtime | Not found by its targetname, see Targets |