Smart Set Float
A float override you can flick on and off
- output
Smart Set Float is a two-input, one-output node whose entire personality is "output the value I've typed, unless I mute the node, in which case pass through what's wired in." That's it. No math, no scheduling, no curve. But that tiny behavior earns its place in a lot of graphs, so let's talk about why.
The inputs are value and input, both FLOAT. When the node is active, the output is value - a hard override. When you bypass the node (right-click → Bypass, or Ctrl+B), the output becomes input instead, whatever that's connected to. So you can drop a Smart Set Float in front of, say, a sampler's CFG or denoise slider, wire the "real" value into input, type an experiment value into value, and toggle between them by muting the node. No rewiring, no opening a properties panel, no remembering what you changed.
The "smart" part is that it uses lazy evaluation. ComfyUI's lazy-input machinery means when the node is active, it tells the executor it only needs value - the input upstream doesn't even get computed. No wasted cycles computing a branch you're not using, and no "I forgot to delete this node and now it's doing work" surprises. It's a genuinely well-built tiny node.
Where does this actually help? The classic case is A/B testing parameters on the fly. Set up a Smart Set Float at each of the two or three values you're comparing, mute all but one, queue, unmute another, queue. It also shines as a "force this value" override that lives right next to the thing it controls, so when you revisit the workflow in a month you can see at a glance that CFG was being overridden - something you absolutely lose when you just type a number into a slider and forget. And because it's a passthrough when bypassed, you can drop it inline permanently without ever changing behavior; it's only "there" when you want it to be.
The float variant pairs naturally with Smart Set Int from the same pack for the integer flavor. Both share the same philosophy and the same wiring pattern: input (used when bypassed) → value (used when active) → output.
One honest limitation: there's no persistence or node-specific state beyond the widget value, and it won't help you schedule a value across frames - for animated per-frame values you want a proper scheduler node. This is a manual-override tool, and it doesn't pretend otherwise.
Install through ComfyUI Manager (search "Smart Helper Nodes") or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/slvslvslv/ComfyUI-SmartHelperNodes
Restart ComfyUI. No dependencies, no models - the pack's requirements.txt is empty, which is exactly right for a node this small.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input | FLOAT | 0.00 | Input value (used when node is bypassed) |
| value | FLOAT | 0.00 | Output value (used when node is active) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | FLOAT | — |