SSG Smart Gate Return
How the injection loop sends its answer back
- SSG_0
- SSG_1
- SSG_2
- SSG_3
- SSG_4
- SSG_5
- SSG_6
- SSG_7
- SSG_8
- SSG_9
- SSG_10
- SSG_11
- SSG_12
- SSG_13
- SSG_14
- SSG_15
- SSG_16
- SSG_17
- SSG_18
- SSG_19
- SSG_20
- SSG_21
- SSG_22
- SSG_23
SSG Smart Gate Return is the exit of the SSG Gate Trio. You place it at the end of an injection subgraph loop, and its single job is to take your loop's processed signals and broadcast them back on the {channel}_RX stream so the SSG Smart Gate upstream can collect them and hand them to the rest of the main pipeline. It's the "send it home" node: the Gate says "go through the loop," the Relay brings data in, your loop does its thing, and the Return ships the result back out.
Mechanically it's the inverse of the Relay - a transmitter instead of a receiver. Its function transmit_gate_rx grabs your 24 wildcard inputs (SSG_0–SSG_23), writes them into torch._ssg_piperegistry[channel], and returns nothing. Which is the notable quirk of this node: it has no outputs at all. The brief lists it as an output node (is_output_node: true), which means ComfyUI treats it as a terminal - it always runs, and its "output" is purely the side effect of stuffing the processed lanes into the shared dict for the Gate to read. If you've never seen a node with zero sockets, this is it; it's a boundary marker more than a processing step.
The only control is channel, the dropdown that binds it to the right stream (the Gate's {channel}_RX). Set it to match the Gate, wire your loop's final nodes into the 24 SSG_* inputs, and you're done. The hidden return_manifest/bound_generation inputs are schema-tracking internals you won't touch.
Honest positioning: of the nine nodes in this suite, the Return is the most specialized. You only want it if you're building the full injection-loop pattern - Gate inline, Relay at the loop entrance, Return at the exit. Standalone it's pointless, because nothing reads back what it writes. And the usual SSG ordering rule applies in its most annoying form: if the Return writes the RX channel after the Gate already collected it, the Gate returns stale or empty data and your loop's work silently evaporates. Make sure the loop's execution lands between the Gate's TX push and its RX read.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/SgtSauv/ComfyUI-SSG-Smart-Suite.git
Restart, or Manager → search "SSG Smart Suite". No models to download, no Python dependencies (requirements.txt: "No external dependencies"), only the pack's console boot banner.
Common issues
- The Gate ignores your loop's result → the Return wrote to a different
_RXchannel than the Gate reads, or it executed after the Gate already collected. Check both channel bindings. - "Why does this node have no outputs?" → not a bug. It's a terminal transmitter; the data leaves through the registry.
- No help out there → this suite is barely mentioned on Reddit as of 2026; the repo's issues page is the realistic support path.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| channel | COMBO | 1 options: Default | |
| SSG_0opt | * | — | |
| SSG_1opt | * | — | |
| SSG_2opt | * | — | |
| SSG_3opt | * | — | |
| SSG_4opt | * | — | |
| SSG_5opt | * | — | |
| SSG_6opt | * | — | |
| SSG_7opt | * | — | |
| SSG_8opt | * | — | |
| SSG_9opt | * | — | |
| SSG_10opt | * | — | |
| SSG_11opt | * | — | |
| SSG_12opt | * | — | |
| SSG_13opt | * | — | |
| SSG_14opt | * | — | |
| SSG_15opt | * | — | |
| SSG_16opt | * | — | |
| SSG_17opt | * | — | |
| SSG_18opt | * | — | |
| SSG_19opt | * | — | |
| SSG_20opt | * | — | |
| SSG_21opt | * | — | |
| SSG_22opt | * | — | |
| SSG_23opt | * | — |
Outputs (0)
No outputs