Nodes, pins, and wires
Read execution and typed data on a Round Trip method graph without guessing from color alone.
On this page
A node tells you what happens. Its pins tell you what enters and leaves. Its wires tell you what depends on what.
The problem
Section titled “The problem”EnemyPatrol.FixedUpdate reads position, checks bounds, changes direction, computes velocity, and writes it back. The whole method becomes readable once you separate two questions: which statement runs next, and which value feeds this pin?
When to reach for it
Section titled “When to reach for it”Use node anatomy whenever a graph feels dense. Trace exec flow first, then inspect the typed data needed by each statement. This works for code you wrote, code a teammate wrote, and code an assistant added.
See it
Section titled “See it”-
Find the entry node. Entry and return-family cards use the entry/exit family color and mark the method boundary.
-
Follow the white exec wire from left to right. Exec inputs sit on the left of a statement card; exec outputs sit on the right. Branch outputs name paths such as
trueandfalse. -
Stop at a card and read its header. The header color identifies what the node does, while its title names the C# construct or symbol.
-
Read data pins below the exec pins. Inputs are on the left and outputs are on the right. Their dots and wires use the value’s type color.
-
When a node has no exec pins, treat it as a value calculation. Pure nodes run as part of the statement that consumes their output; they do not own a separate execution step.
Color meanings
Section titled “Color meanings”| Value or family | Color | Meaning |
|---|---|---|
| exec | rgba(255,255,255,0.70) |
execution pins and wires |
| int | #00A000 |
integral values |
| float | #569656 |
float, double, decimal |
| bool | #880000 |
Boolean values |
| string | #00A8FF |
string values |
| char | #5C818E |
character values |
| object | #800080 |
reference types |
| struct | #9F649F |
value types and Unity structs |
| void | #808011 |
no value flows |
| wildcard | #9A9A9A |
type not decided yet |
| Entry / Exit | #800080 |
method boundaries |
| Flow / Conditions | #FFB400 |
branches, loops, switches |
| Pure | #095F19 |
expressions and reads |
| Impure | #0C0C42 |
statements and SET nodes |
| Call this class | #15B5A6 |
call declared here or on a base class |
| Call other indexed class | #0B6E72 |
call into another indexed type |
| Call external | #566573 |
framework, Unity, or package call |
| Assignment | #FF9F43 |
declaration or assignment variant |
| Await | #00A8FF |
suspension |
| Try/catch | #CD6133 |
exception scope |
| Using | #2E86C1 |
resource scope |
| Placeholder | #787878 |
unsupported statement |
Color is never the only signal. Titles, badges, pin labels, filled versus hollow dots, and card shape carry the same distinctions.
What it reads
Section titled “What it reads”A branch card with a bool data input and two exec outputs corresponds to this exact source shape:
if (isReady){ Run();}else{ Wait();}When it goes wrong
Section titled “When it goes wrong”When it goes wrong
| Symptom | Check | Fix |
|---|---|---|
| A green card appears to run out of order. | Look for exec pins. Pure expression and read nodes have none. | Follow its colored output to the statement that consumes the value. |
| A wire color seems wrong for a custom type. | Decide whether the type is a reference type or a value type. | Read object purple for references and struct purple for known value types. |
| A gray placeholder interrupts the path. | Open its details or source span to identify the unsupported statement. | Read the limitation, then use source for that statement. The method refuses Compile while the placeholder remains. |
- Pills and literals: read the compact value sources attached to pins.
- Branch: follow true and false execution outputs.
- Node colors: keep the full palette nearby.