Nodes/ComfyUI LC123 Nodes/LC Custom Combo
ComfyUI Node

LC Custom Combo

A dropdown you actually define, with a remote

By lonecatone23·Created 2 months ago·Updated 3 days ago· 18
LC Custom Combo
    • STRING
    • INDEX
    • OPT_CONNECTION
    inputcount2
    choice
    option_01
    option_02
    option_03
    option_04
    option_05
    option_06
    option_07
    option_08
    option_09
    option_10
    option_11
    option_12
    option_13
    option_14
    option_15
    option_16
    option_17
    option_18
    option_19
    option_20

    ComfyUI's own dropdowns are fixed - the KSampler knows its samplers, the scheduler node knows its schedulers. But what about your options? Your list of LoRA names, your three favorite styles, your A/B/C test prompt labels? LC Custom Combo (LCCustomCombo) lets you type your own option list and get back the chosen value plus its index. It's the "define your own enum" node of the LC123 pack, and it pairs with a remote-control panel so you can flip options without hunting for the node.

    How it works

    The node has inputcount (2–20) option slots plus a choice string. Fill the slots - option_01, option_02, and so on - with whatever values you want. Set choice to the one you want active. Then three outputs come out:

    • STRING - the text of the selected option.
    • INDEX - the position of the selected option (0-based), handy for feeding an integer switch or index math.
    • OPT_CONNECTION - a wildcard * output specifically there to wire into the LC Custom Combo Panel remote.

    The mechanics are dead simple under the hood: it collects the filled options, looks up choice in the list, and emits the match (defaulting to the first option if your choice text doesn't match anything). If no options are filled at all, it emits an empty string and index 0 rather than erroring - so an unconfigured combo fails gracefully instead of breaking the graph.

    The inputs that matter

    Two things to get right:

    • inputcount - how many option slots to show. The pack notes that manual node sizes stick across reload and auto-fit only when inputcount changes, so if your node looks squished, that's the trigger.
    • choice - the value you're selecting. It's a plain string, so type it exactly as it appears in an option slot (spaces count).

    That's it. There's no magic "these are my options" data structure - the slots are the list.

    Pairing with the panel

    The whole point of the OPT_CONNECTION output is the sibling node LC Custom Combo Panel: wire it in, and you get a compact remote that flips the choice without expanding the main combo. This is the classic "keep the ugly data node tucked away, put the human control on the surface" pattern - genuinely handy in big graphs where the combo hub lives at the top and the thing you actually touch lives near the output.

    Install

    Part of ComfyUI_LC123_nodes. ComfyUI Manager (search the pack title) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
    

    Restart. Pure standard types - no dependencies, no downloads.

    Where people get burned

    The usual beginner trap is thinking choice defines the list. It doesn't - it only selects. Fill the option slots first. And since it's a string match, an extra space in choice silently falls back to option index 0, which is a fun way to think your node is "stuck." This pack has essentially no Reddit discussion, so when in doubt, the README's switch-and-control section and the source comments in lc_custom_combo.py are the real documentation.

    CategoryLC123/utils

    Inputs (22)

    NameTypeDefaultDescription
    inputcountINT22–20
    choiceSTRING
    option_01optSTRING
    option_02optSTRING
    option_03optSTRING
    option_04optSTRING
    option_05optSTRING
    option_06optSTRING
    option_07optSTRING
    option_08optSTRING
    option_09optSTRING
    option_10optSTRING
    option_11optSTRING
    option_12optSTRING
    option_13optSTRING
    option_14optSTRING
    option_15optSTRING
    option_16optSTRING
    option_17optSTRING
    option_18optSTRING
    option_19optSTRING
    option_20optSTRING

    Outputs (3)

    NameTypeDescription
    STRINGSTRING
    INDEXINT
    OPT_CONNECTION*