Nodes/ComfyUI-UtilsCollection/Unified Presets (Primitive)
ComfyUI Node

Unified Presets (Primitive)

One dropdown to rule all your prompt preset families

By silveroxides·Created 2 months ago·Updated about 7 hours ago· 24
Unified Presets (Primitive)
    • preset
    • escape_parentheses
    presetSTYLE_3D
    escape_parenthesesfalse

    If you've ever stared at three separate preset selectors - System Message, Instruct Prompt, and Bonus Prompt - and thought "why can't I just have one list?", this node is that list. It unions the presets shared across those three families into a single dropdown and passes the choice through as a primitive value. It's the "primitive" version of the pack's preset system: no encoding, no template logic, just a clean string out the door.

    What it is

    A passthrough/selector node. The dropdown is populated at load time by intersecting the preset keys from UC_SystemMessagePresets, UC_InstructPromptPresets, and UC_BonusPromptPresets - the presets that exist in all three families, like the STYLE_3D default. Pick one and the node forwards it as an "any" type, so you can wire it into whatever wants it: a text encode, a textgen node, a concatenator.

    How it works

    Mechanically it's trivial - select a preset, pass the string through, also pass the escape_parentheses boolean through. That's the whole job, and it's deliberately trivial. The value is organizational: instead of remembering which family holds which preset, you get one merged list, and the same preset feeds any downstream consumer because the output type is deliberately loose (*).

    escape_parentheses deserves a moment because it looks out of place on a selector. It's a companion flag that exists so you can strip weight-syntax parentheses from a preset string before it hits something that would choke on them - like an LLM-encoded prompt where (word:1.4) is literal text. Wire both outputs together into whatever consumes them and you've got a safe preset pipeline.

    The inputs and outputs

    • preset - the merged dropdown.
    • escape_parentheses - toggle, passed through.
    • Outputs: preset (any type) and escape_parentheses (BOOLEAN).

    Installing it

    Part of ComfyUI-UtilsCollection:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
    

    Restart ComfyUI, or install via ComfyUI Manager (search "ComfyUI-UtilsCollection"). No extra dependencies beyond the pack's minimal opencv-python / typing-extensions, and it needs a current ComfyUI build since the pack uses the modern Core node API.

    Common issues

    Two things to know. First, the dropdown only contains presets shared by all three source families - if you're hunting for a preset that lives in just one family, it won't be here; use the dedicated preset nodes for those. Second, because the output is an untyped *, you don't get the type safety that a STRING output gives - if a downstream node refuses the connection, wire the output through a text converter or a string primitive. And if the list looks different after an update, that's expected: preset families change, and the intersection changes with them.

    Categoryadvanced/primitives

    Inputs (2)

    NameTypeDefaultDescription
    presetCOMBOSTYLE_3D82 options: STYLE_3D, STYLE_70S_SCIFI, STYLE_ADULT_SWIM, STYLE_ADVENTURE_TIME, STYLE_ANIME, STYLE_BOBS_BURGERS, +76
    escape_parenthesesBOOLEANfalsePrevents errors from parentheses left in the prompt.

    Outputs (2)

    NameTypeDescription
    preset*
    escape_parenthesesBOOLEAN