Float Variable
A named float you can wire to five places at once
- flt
PseudoVarFloat ("Float Variable") is a pass-through node that takes one float and hands it back to you unchanged. That's it. No math, no remapping, no secret sauce. What it's for is the interesting part.
ComfyUI's biggest usability sin is that most numeric controls are buried in widgets on nodes scattered across the canvas. Want to try 0.7 instead of 0.5 in three different places? That's three separate widgets to hunt down and edit - easy to miss one, and easy to lose track of which value goes where. A variable node is the fix: set the number once, wire the output to every input that should share it, and you have a single knob that drives the whole graph.
The wider Pseudocomfy pipeline is built for exactly this pattern. The Rhino Pseudorandom plugin pushes values into these nodes externally on every run, which is what makes "explore the design space by changing one variable" actually practical. The author's own pipeline keeps a PseudoRemapNormalizedFloat and PseudoFloatToInt nearby for converting the value once it arrives, but PseudoVarFloat is where a normalized value like 0.5 or 0.38 lives before anything converts it.
Inputs and outputs
The whole surface:
val(FLOAT) - the value, default 0.5.- Output
flt(FLOAT) - the same value, passed through.
That's the entire schema. You'll typically use it for things like ControlNet strength, denoise, IPAdapter weight, or any strength slider you want to share between nodes.
When it earns its keep
- You're tuning a number across several nodes and want one place to edit.
- You're building a workflow you'll hand to someone else, and a named "Float Variable" node is friendlier than a random widget buried in a KSampler.
- Something external (like the Rhino plugin) needs a stable, findable place to write a value. The plugin knows this node's address; it doesn't know a KSampler's widget.
If none of those apply, honestly, just use the widget on the node you're feeding - a variable node that holds one value is overhead when there's nothing to share. This one shines in a shared or scripted workflow, not in a one-off.
Installation
Part of Pseudocomfy, so the standard two routes:
# ComfyUI Manager: Custom Nodes Manager > search "Pseudocomfy" > Install
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Pseudotools/Pseudocomfy.git
Restart ComfyUI after installing. The Windows portable build needs diffusers installed into its embedded Python first - the README's first step covers it - because the pack's full regional-prompting pipeline depends on it, even though this little node doesn't.
Troubleshooting
- Precision: floats pass through as Python floats, so you may see long decimals like
0.30000000000000004in the console print ([pseudocomfy] PseudoVarFloat: ...). That's just how floats work; the value is fine. If it bugs you, feed it through the pack'sPseudoRemapNormalizedFloator do a roundtrip viaPseudoFloatToInt. - If you change
valand nothing downstream seems to react, check that you actually wired thefltoutput rather than leaving the downstream node on its own widget - the most common "variable node isn't working" complaint is a stale widget doing the talking.
Keep it to a one-liner summary: it's a named float you can wire everywhere, and the only reason it exists is so you - or the plugin - change it in one place.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| val | FLOAT | 0.50 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| flt | FLOAT | — |