ImpactIfNone
Check whether an input is None and branch on it
- signal
- any_input
- signal_opt
- bool
A tiny logic node with a very literal job: it tells you whether something is empty. Hand it any input and it returns true if that input is None, false if it's actually there. That's it. It's a null check, dressed as a ComfyUI node.
Why would you want that? Because in a workflow with optional branches, you sometimes need to know whether a previous stage produced anything. Did the detector find a face, or is the SEGS empty? Did the optional latent get connected, or not? ImpactIfNone turns "did that thing exist" into a boolean you can feed into other logic - a switch, a conditional branch - to steer the rest of the graph. It's part of Impact Pack's experimental logic set, the loop-and-branch nodes, which is worth flagging up front: these are niche, lightly documented, and the wider community barely discusses them. You're in build-your-own-control-flow territory.
How it works
The node passes your input straight through untouched on one output, and separately emits a boolean saying whether that input was None. The pass-through matters: because it hands the value back out, you can insert it inline on a wire without breaking the connection, tapping the "is this empty?" signal as the data flows past.
The inputs and outputs that matter
Both inputs are optional and wildcard-typed:
any_input- the thing you're testing for None. This is what the boolean is computed from.signal- a pass-through value used to control execution order. It comes back out unchanged onsignal_opt, letting you sequence this check relative to other nodes.
Outputs:
signal_opt- thesignalpassed straight through (for ordering).bool-trueifany_inputwas None,falseotherwise. This is the output you route into a switch or conditional.
How to install it
Ships with the Impact Pack. ComfyUI Manager: search ComfyUI Impact Pack, Install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
cd comfyui-impact-pack
pip install -r requirements.txt
then restart. No models or extra dependencies.
Common issues & troubleshooting
It always returns false. If any_input is connected to something that produces a real value, false is correct - the value isn't None. You'd only get true when the upstream genuinely emitted nothing (an unconnected optional input, or a node that returned None). If you expected true, check that the upstream branch is actually being skipped rather than quietly producing an empty-but-not-None object.
The boolean doesn't do anything by itself. Right - this node only reports. To act on it you need to wire bool into something that branches: a conditional node, or a switch's selector. On its own it's just a sensor.
Type-validation warnings. Like the rest of Impact Pack's wildcard-typed logic nodes, it can throw cosmetic type-mismatch messages while working fine. And since this is experimental loop/logic tooling with almost no community write-ups to copy from, expect to prototype your control flow by trial and error rather than following a canonical example.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| signalopt | * | — | |
| any_inputopt | * | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| signal_opt | * | — |
| bool | BOOLEAN | — |