Nodes/Nilor Nodes by Nilor Corp/๐Ÿ‘บ User Input Group Controller
ComfyUI Node

๐Ÿ‘บ User Input Group Controller

The 'group your inputs' node that does nothing on a stock ComfyUI install

By nilor-corpยทCreated 2 years agoยทUpdated 6 months agoยท 6
๐Ÿ‘บ User Input Group Controller
  • _group_hook_1
    โ—„group_labelmy_groupโ–บ

    Here's a node whose entire backend is a function named do_nothing that returns an empty tuple. Nilor Group Controller is not a computation - it's a UI-organizing declaration. You give it a group_label, wire a bunch of the pack's User Input nodes into it, and its job is to make the frontend draw those inputs as one visually grouped cluster. The catch, which you need to know before you build anything around it: on a stock ComfyUI install, that grouping never appears.

    What it's for

    The concept is sound and you've probably wished for it: instead of five ๐Ÿ‘บ User Input (Int) / (Float) / (String) nodes scattered around a giant graph, you want them collected into one labeled panel - "camera settings", "seed controls", whatever. The group controller is meant to be that collection point. The inputs use a shared CONTROLLER_HOOK type (the same hook socket the User Input nodes output), and the frontend JS shipped with the pack grows _group_hook_N inputs dynamically as you connect more - up to 32 slots. The group_label is purely a visual label; the docstring is explicit that it's not used to look anything up.

    Why it doesn't do anything for you

    The grouping behavior is implemented in Nilor's own frontend. The source code and README reference a "Brando" UI, and the sibling ๐Ÿ‘บ User Input Preset Controller expects a presets_config.json5 service to drive its dropdowns and value application - infrastructure that isn't shipped with the public repo. What's in the repo is the Python no-op plus the controllers.js extension that manages the dynamic hook slots. So when you install this pack locally, the Group node sits there, accepts hook wires, and produces nothing: no outputs, no UI changes, no errors. It's a placeholder for a host UI that only exists inside Nilor's pipeline.

    That's not hyperbole - RETURN_TYPES is literally empty and FUNCTION is do_nothing. If you see this node in a workflow you downloaded, it's a structural marker from someone running Nilor's stack, and you can delete it (and unplug the hook wires) without changing your results at all.

    When it's actually useful

    If you are running Nilor's own frontend - and at this point, that means you work with Nilor Corp or you've deliberately replicated their stack - then yes, this is the node that keeps a 200-node graph's control surface sane. It's the ComfyUI-native way of expressing "these inputs belong together," which their UI honors. If you're a normal user, the honest advice is: reach for rgthree's node group / fast-group features or the built-in note/group frame in ComfyUI for visual organization, because they do the same job in the UI you actually have.

    Install

    ComfyUI Manager (search "Nilor Nodes") or clone https://github.com/nilor-corp/nilor-nodes into custom_nodes, restart. It appears under Nilor Nodes ๐Ÿ‘บ โ†’ IO. No dependencies. If it ever errors on import, the whole pack failing to load is the thing to check - scipy is imported at module level but missing from requirements.txt, so pip install scipy is the classic fix for a pack that won't start.

    Bottom line

    A declarative node for a UI that ships elsewhere. Understand what it's for, don't expect it to do anything on your install, and don't let its presence in a shared workflow spook you - it's harmless wiring, and it unplugs cleanly.

    CategoryNilor Nodes ๐Ÿ‘บ/IO

    Inputs (2)

    NameTypeDefaultDescription
    group_labelSTRINGmy_groupโ€”
    _group_hook_1optCONTROLLER_HOOKโ€”

    Outputs (0)

    No outputs