- value
- value
Set Node is the storing half of DeepSoch's wireless reroute: plug any value in, give it a name, and retrieve it anywhere in the graph with a matching Get Node - no wire across the canvas. ComfyUI lets a single output fan out to many inputs natively, but "fan out" still means dragging a line, and on a busy workflow the line is what eats your eyes. This is the "name it once, read it many times" pattern, and it's the node you reach for when a batch size, a seed or a model needs to appear in five different places.
The inputs are where the magic (and the one trap) lives. value is the wildcard type * - the same "accept anything" trick that powers reroutes across the ecosystem - so you can feed it a MODEL, an IMAGE, an INT, a CONDITIONING, whatever. name (STRING) is the label you'll retrieve it by; keep it memorable and, since matching is exact and case-sensitive, consistent with whatever you type into the Get Node. The only output is value, a passthrough: the Set node returns what you put in, so you can chain through it without losing the value.
Here's the part that surprises people. The node is virtual - the Python class is just a stub that registers a category and display name, and the real behavior lives in web/get_set.js. Each Set instance is flagged isVirtualNode = true, so ComfyUI's prompt builder strips the node out before sending the graph to the backend; the JS then redirects Get nodes' upstream traversal to whatever feeds this Set. That means the pair behaves as a transparent rewire - the exported workflow JSON contains real, resolved connections, and there's no hidden state to corrupt between runs. It also means the color coding is yours to read: Set nodes get a green tint, Gets blue, which makes pairs easy to spot at a glance on a busy canvas.
Installation is the same as the rest of the DeepSoch Toolkit - ComfyUI Manager, search "DeepSoch Toolkit", or:
cd ComfyUI/custom_nodes
git clone https://github.com/deepsoch/ComfyUI-deepsoch-toolkit
then restart. The pack declares no third-party Python dependencies, so there's nothing to pip install and nothing to break your environment - which, given the ecosystem's general dependency hell, is a nice change of pace.
The one thing to keep straight: a Set without a matching Get is harmless, but a Get without a matching Set is a silent dead end, and since virtual nodes vanish before execution you can't debug it from the console. Check the widget values, not the log. If you're mostly running one-off graphs you can skip the pair entirely - but the moment you're wiring the same value into several nodes, this beats spaghetti every time.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| value | * | — | |
| name | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | * | — |