LayerUtility: TextJoin
TextJoin — glue up to four strings together, no delimiter
- text
A basic string-concatenation node: wire in up to four pieces of text, get one string back with them stuck together in order. The reason to use this instead of just typing everything into one text box is composability - keep a subject, a style block, and a suffix as separate pieces you can swap independently, and let this node assemble the final string at execution time instead of retyping the whole thing every time one part changes.
How it works
text_1 is required; text_2 through text_4 are optional and only get included if they're filled. The catch, and it's worth knowing up front: there's no delimiter input on this version. Whatever you wire in gets concatenated exactly as-is, with nothing inserted between the pieces - no automatic space, no automatic comma. If you want a separator, you have to bake it into one of the text fields yourself (put ", " at the start of text_2, for example).
That gap is exactly what the pack's own TextJoin V2 adds - a proper delimiter field. If you find yourself constantly typing separators into your text fields by hand to work around this node, that's the sign to switch to V2 instead of fighting this one.
The inputs and outputs that matter
text_1(required) - the first, and only mandatory, piece.text_2,text_3,text_4(optional) - additional pieces, joined in order when present.
Output: a single text string - the concatenation of every filled slot, in order, with nothing in between.
How to install it
Ships with LayerStyle. ComfyUI Manager: search ComfyUI Layer Style, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt
Restart, find it under 😺dzNodes → LayerUtility → Data. No dependencies beyond the base pack.
Common issues
Words running together with no space. This is expected, not a bug - the node inserts nothing between pieces. Add a leading space or comma to your own text fields if you need one.
Only the first piece shows up. text_1 is the only required input; the others only join in if they're actually wired or typed, not left blank. If a later piece isn't appearing in the output, confirm it's genuinely connected rather than dangling.
You actually wanted a delimiter. That's not a bug in this node either - it's the one feature TextJoin V2 was built to add. Switch nodes rather than trying to make this one do something it wasn't designed for.
Pack-wide: if TextJoin is missing from your node search entirely, LayerStyle failed to import as a whole. The usual trigger is a transformers/tensorflow version conflict from another custom node pack sharing your environment, especially common on installs from before the pack split into base LayerStyle and the heavier LayerStyle Advance repo. Reinstall clean or use Manager's "Try Fix," and check the actual traceback before assuming this node is at fault.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| text_1 | STRING | — | |
| text_2opt | STRING | — | |
| text_3opt | STRING | — | |
| text_4opt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |