Connections & Wires
How wires work in TouchDesigner — multiple inputs, fan-out, the Null operator, bypassing, and the Info popup — the mechanical skills that make network-building fluid.
Output Dots and Input Dots
Every operator in TouchDesigner has connectors — small circles on its edges. Output dots sit on the right side of an operator tile. Input dots sit on the left side. Data always flows from output to input, left to right.
To make a connection, click and hold an output dot, drag across the canvas, and release over an input dot. If the families are compatible (e.g., both are TOPs), a wire appears. If they are incompatible (e.g., you try to wire a TOP output into a CHOP input), nothing happens — the wire simply disappears.
To delete a wire, click somewhere on the wire itself to select it (the wire turns white/highlighted), then press Delete or Backspace. You can also click the input dot of the destination operator to disconnect just the incoming wire at that point.
Fan-Out: One Output to Many Inputs
A single output dot can drive multiple downstream operators simultaneously. Simply start a new wire from the same output dot and connect it to a different operator’s input. You can do this as many times as you like.
This is called fan-out and is extremely common. A Noise TOP might feed a Blur TOP and a Level TOP and a Feedback TOP all at the same time, each processing the same source independently for different purposes.
There is no performance penalty for fan-out itself — the upstream operator only cooks once per frame and its result is read by all downstream consumers from the same GPU memory.
Multiple Inputs on One Node
Some operators accept multiple inputs on their left side. The Composite TOP is the clearest example — it blends as many source images as you want. Each time you wire a new TOP into the Composite TOP, a new input slot appears. The order of inputs matters: input 0 is the bottom layer, input 1 is composited above it, input 2 above that, and so on.
Similarly, the Merge CHOP combines multiple CHOP sources into a single multi-channel output. The Merge SOP combines multiple geometry inputs.
To reorder inputs on a multi-input operator, you currently need to disconnect and reconnect them in the desired order. There is no drag-to-reorder UI for inputs. If input order is critical and you are working with many sources, use a Switch TOP (which lets you choose a specific input by index) or a Composite TOP with a named input list controlled by a parameter.
Fan-In: Multiple Wires Into One Input
Most operators accept only one wire into each input slot. Attempting to connect a second wire to an input that is already occupied replaces the existing connection — the old wire disappears. This catches beginners off guard. If you want to combine two images before feeding them into a node, add a Composite TOP first, then wire its output into the next stage.
The Null Operator
The Null TOP (and Null CHOP, Null SOP, Null DAT) is a pass-through operator that does absolutely nothing to the data. It copies its input to its output unchanged. This sounds useless, but it is one of the most valuable tools in your kit for three reasons:
1. Creating stable named reference points. If you have a complex subgraph that several other nodes depend on, put a Null TOP at its output and give it a meaningful name: color_final, depth_pass, audio_rms. Other operators reference the Null by name. If you later change the upstream network — swap the Noise TOP for a Movie File In TOP, for example — you just reroute the wire into the Null, and every downstream reference automatically reads the new source.
2. Marking the end of a logical section. Large networks become confusing when every operator has wires going to five different places. Placing a Null at the “output” of each functional group keeps the visual structure readable.
3. Performance checkpoints. A Null CHOP in between two CHOP sections lets you check the intermediate value without disturbing the network.
To add a Null: press Tab, type null, select the appropriate family. Wire it in like any other operator.
Inserting a Node Into an Existing Wire
You can insert an operator inline without disconnecting existing wires:
- Add the new operator nearby (press Tab, choose the operator, it appears on the canvas).
- Middle-click on an existing wire. This “cuts” the wire at that point and both ends appear as loose connectors.
- Wire the upstream loose end into the new operator’s input, and wire the new operator’s output to the downstream loose end.
Alternatively, in some builds of TouchDesigner, you can drag a new operator directly onto an existing wire. The wire splits and the operator is inserted.
Viewing Data at Any Point
The Info Popup: Hover over an operator’s output dot without clicking. A small tooltip appears showing the data type and stats — for a TOP: resolution and pixel format; for a CHOP: number of channels, sample rate, and current values; for a SOP: point count, primitive count.
This is the fastest way to inspect your network during debugging. You do not need to select the operator or open the Info DAT.
The Info DAT: Press I while an operator is selected to automatically create an Info DAT wired to that operator. The Info DAT displays a detailed table of the operator’s state — cook time, memory usage, all internal flags. Leave Info DATs scattered through a network while debugging, then delete them when you are done.
The Viewer: Every operator has a thumbnail viewer in its tile. Increasing the tile size (drag an operator’s corner) makes the viewer larger. For TOPs, this is often the most direct way to understand what is happening at each stage.
The Bypass Flag
Pressing B while an operator is selected toggles its bypass flag. A bypassed operator passes its input directly to its output without processing it. The operator tile turns slightly transparent with a diagonal stripe to indicate the bypassed state.
Bypass is non-destructive: all the operator’s parameters are preserved. It is perfect for A/B testing — press B to bypass a Blur TOP and see the image without blur, then press B again to bring it back. In a CHOP chain, bypassing a Lag CHOP immediately removes the smoothing so you can see the raw signal.
You can bypass multiple selected operators at once. If all selected operators are currently active, B bypasses them all. If any are already bypassed, B toggles based on the majority state.
The Cook Flag and the Viewer Flag
Every operator has three flags visible as small icons in the top-right corner of its tile:
- Viewer flag (eye icon): when on, the operator’s viewer is displayed in the Network Editor tile. Turn it off to reduce GPU memory usage for operators you do not need to monitor.
- Cook flag (lightning bolt): when off, the operator does not cook at all — its output is the last cooked value, frozen. Use this to lock an operator at a specific frame.
- Display flag (monitor icon, on COMPs): controls which COMP is shown in the parent’s viewer when multiple COMPs are present.
Right-click an operator tile to access these flags directly, or use the shortcut keys that appear in the right-click menu.
Tidying Up with Alignment
Once your network grows to a dozen or more operators, organisation matters. Select multiple operators by dragging a selection box around them (or Shift+clicking). Then:
- Press Ctrl+Left/Right/Up/Down arrows to nudge the selection.
- Use the Arrange options in the right-click menu to align operators to a grid or to each other’s edges.
There is no auto-layout engine in TouchDesigner — network organisation is entirely manual. Many practitioners develop a personal convention: time flows left to right, signal sources at the left, outputs at the right, CHOPs below the TOPs they are feeding. Consistency in your own convention pays dividends when you return to a project after a long break.
The next tutorial goes into detail on parameters — the sliders, menus, and expression fields that control what each operator actually does.