ComfyUI Node

VRGDG_MultiStringConcat

Twenty Text Boxes, One Prompt, No Suffering

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
VRGDG_MultiStringConcat
    • text
    string_count2
    delimiter\n\n
    string_1
    string_2
    string_3
    string_4
    string_5
    string_6
    string_7
    string_8
    string_9
    string_10
    string_11
    string_12
    string_13
    string_14
    string_15
    string_16
    string_17
    string_18
    string_19
    string_20

    VRGDG_MultiStringConcat glues up to 20 multiline text fields together into one string, with a delimiter you choose. In a world where prompt nodes only take one big text box, this is the escape hatch for keeping your prompt in readable, editable chunks and then assembling them at the end.

    The mechanism is dead simple: each string_1 through string_20 is a widget, and the node joins every non-empty one with the delimiter, in order. That last bit matters - empty strings are skipped, so you can leave a slot blank without injecting stray blank lines or commas into the middle of your prompt.

    Inputs worth setting

    You could fiddle with twenty widgets, but really there are three knobs that matter:

    • string_count - how many text boxes show up on the node. Set it to the number of chunks you actually use so the canvas stays tidy (range 1–20, default 2).
    • delimiter - what goes between chunks. Default is \n\n (blank line between paragraphs), and you can use \n for a single newline, \t for a tab, or clear it for no separator at all.
    • string_1string_20 - the actual content. Multi-line enabled, so each one can hold a paragraph.

    Output is one text string ready to feed into a CLIP text encode, an LLM prompt node, or whatever is next in line.

    Why this is genuinely handy in this pack

    The VRGameDevGirl music-video workflow builds prompts the way you'd assemble a shot list: character description in one box, environment in another, lighting, camera motion, interactions, each as a separate editable field. MultiStringConcat is where they all come back together into the single string an encoder or an LLM wants. Keeping them separate means you can tweak the lighting without re-reading the whole three-paragraph prompt, and it makes the graph legible to your future self.

    The same trick applies outside the pack. If you've got a base prompt you reuse and a per-scene variation, two boxes and a \n delimiter beats editing one long string every run. And because it skips empties, a single node can serve as the "assembly" point for several optional segments without you toggling anything.

    Install

    It's part of comfyui-vrgamedevgirl, so:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl
    

    Restart ComfyUI and look under VRGDG/General. ComfyUI Manager users can search vrgamedev instead. Nothing else to download - the pack's heavier dependencies (kornia, librosa, imageio) are for the video and audio nodes, not this one.

    The honest part

    This is a utility, not a feature. If you already have a concat node from another pack it does the same thing, and ComfyUI's native String Concatenate covers the two-or-three-input case. The differentiators here are the 20 slots and the skip-empty behavior, which become worth having exactly when you're assembling big prompts from many optional parts - which, in this pack's workflow, you are.

    CategoryVRGDG/General

    Inputs (22)

    NameTypeDefaultDescription
    string_countINT21–20
    delimiterSTRING\n\nText inserted between each non-empty string. Use \n for newline, \t for tab, or clear for no delimiter.
    string_1STRING
    string_2STRING
    string_3STRING
    string_4STRING
    string_5STRING
    string_6STRING
    string_7STRING
    string_8STRING
    string_9STRING
    string_10STRING
    string_11STRING
    string_12STRING
    string_13STRING
    string_14STRING
    string_15STRING
    string_16STRING
    string_17STRING
    string_18STRING
    string_19STRING
    string_20STRING

    Outputs (1)

    NameTypeDescription
    textSTRING