Group Ops
Bundle two Blender objects into one socket
- BPY_OBJ
- BPY_OBJ2
- BPY_OBJS
Avatar Graph's plumbing is built on two Blender-object socket types: BPY_OBJ for one object, BPY_OBJS for a group. A lot of the pack's mesh-editing nodes hand you back single BPY_OBJs, but some downstream nodes - ExportGLTF's bpy_objects input is the obvious one - want a BPY_OBJS group instead, even if you only have a couple of objects to export together. Group Ops is the node that closes that gap: feed it two objects, get one group back.
How it works
It's a straightforward wrap, not a merge - the two objects go into a list together ([BPY_OBJ, BPY_OBJ2]), they don't get combined into a single mesh the way Blender's own "Join" operation would. If you actually want one fused mesh out of two objects, this isn't that node; it's purely for bundling separate objects under one BPY_OBJS socket so a downstream node can treat them as a set.
The inputs and output that matter
BPY_OBJ(optional) andBPY_OBJ2(optional) - the two objects to group. Both are marked optional in the schema, but you need at least these two slots filled for the node to produce anything meaningful.
Worth knowing upfront: it's exactly two slots, no more. If you need to group three or more objects, you'll chain another Group Ops (or a Get First Obj Ops to unpack and re-group) rather than finding a third socket on this node - that's a real limitation of the schema, not something you're missing.
Output is a single BPY_OBJS, ready for ExportGLTF's bpy_objects input or anywhere else a group is expected.
How to install it
Via ComfyUI Manager: search "Avatar Graph" (avatar-graph-comfyui), install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
pip install -r requirements.txt
The pack's install has one hard blocker to know about upfront: bpy==3.6.0 is pinned in requirements.txt, and it only builds on Python 3.10.x. If your ComfyUI environment is 3.11 or 3.12 - which is most current portable installs - the install fails before you get near this node. Windows users get a bundled Python 3.10 ComfyUI zip from the README; on Mac/Linux, build a dedicated conda environment (conda create --name comfyui python=3.10) instead. Expect a heavier-than-usual install too: segment-anything, mediapipe, and OpenCV all come along for the ride.
Common issues & troubleshooting
Expected a merged mesh, got two separate objects wrapped in a list. That's correct behavior, not a bug - Group Ops bundles, it doesn't join. If you need actual mesh-fusion, look for a proper join operation elsewhere in the pack's node list rather than this one.
Only one object ended up in the export. Double check both BPY_OBJ and BPY_OBJ2 are actually wired - since both are optional, it's easy to leave one unconnected and get a group of one without any error telling you.
Need more than two objects grouped. This node's two sockets are a real ceiling, not a UI quirk - its output is BPY_OBJS but its inputs only accept single BPY_OBJs, so you can't just feed a group back in as a third slot. Look for one of the pack's other combining nodes (e.g. a proper "Join") if your workflow needs three or more objects treated as one unit - Group Ops alone won't get you there.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| BPY_OBJ2opt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJS | BPY_OBJS | — |