Nodes/Nilor Nodes by Nilor Corp/๐Ÿ‘บ User Input (Int)
ComfyUI Node

๐Ÿ‘บ User Input (Int)

An int value that doubles as a handle for the group controller

By nilor-corpยทCreated 2 years agoยทUpdated 6 months agoยท 6
๐Ÿ‘บ User Input (Int)
    • int
    • _controller_hook
    โ—„input_namemy_int_inputโ–บ
    โ—„value0โ–บ

    At first glance Nilor User Input (Int) looks pointless: it takes an integer and gives you back the same integer. But the second output is the whole story. Every input node in this family (Int, String, Float, Boolean, Seed) exposes a _controller_hook output alongside the value, and that hook is what plugs into the pack's two "controller" nodes - ๐Ÿ‘บ User Input Group Controller and ๐Ÿ‘บ User Input Preset Controller - to organize the UI in Nilor's own frontend. On its own it's a passthrough; wired up, it's a handle.

    What it does

    Two inputs: input_name (default my_int_input) and value (default 0). Two outputs: int, which is just the value you set, and _controller_hook, typed CONTROLLER_HOOK, which is always None on the Python side. The backend does nothing except return (value, None). The input_name is a label used by the group/preset system to identify which input is which - it matters for organization, not for the value.

    The _controller_hook is a custom type defined in the pack's controllers.py, and it's deliberately inert. It exists so that a ๐Ÿ‘บ User Input Group Controller (which takes _group_hook_N inputs) can collect several of these user inputs into one visual group without the controller needing to receive the actual values. The frontend JS in the pack adds new hook slots dynamically (up to 32) as you connect more inputs. So the real workflow is: several User Input nodes, each with its _controller_hook wired into a Group or Preset controller, and the values travel separately along their normal int/string/float sockets.

    The honest caveat

    On a stock ComfyUI install, the group controller has no visible effect. The grouping and preset-application behavior is implemented in Nilor's own frontend (their README and code reference a "Brando" UI and a presets_config.json5 service) - none of which ships with what you can actually install here. So what you get locally is a labeled int passthrough with a spare socket that currently does nothing visible. That's not a bug in your setup; it's a node built for a host that isn't ComfyUI's default UI. If you just need a named integer constant in a graph, this works fine and the label is genuinely nice - but it's not doing anything a plain Int widget can't.

    Install

    ComfyUI Manager (search "Nilor Nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nilor-corp/nilor-nodes
    cd nilor-nodes && pip install -r requirements.txt
    

    Restart ComfyUI; the node lives under Nilor Nodes ๐Ÿ‘บ โ†’ IO. No extra dependencies - this whole file is pure passthrough logic.

    Bottom line

    Use it if you're already in the Nilor ecosystem and want your graph's integer constants to be nameable and groupable. Skip it if you're just looking for a number - ComfyUI's built-in Int widget does the same job without the extra socket. The genuinely interesting sibling here is ๐Ÿ‘บ User Input (Seed), which does real work: it treats 0/-1 as "randomize" and resolves a real seed value, which is where this family's actual utility lives.

    CategoryNilor Nodes ๐Ÿ‘บ/IO

    Inputs (2)

    NameTypeDefaultDescription
    input_nameSTRINGmy_int_inputโ€”
    valueINT0โ€”

    Outputs (2)

    NameTypeDescription
    intINTโ€”
    _controller_hookCONTROLLER_HOOKโ€”