Object Vertex Group Move
Vertex Groups Out of Order? This Node Shuffles the Stack
- BPY_OBJ
- BPY_OBJ
Reordering vertex groups feels like busywork until it isn't. Group order determines which group ends up "active" relative to the others, some importers and weight-transfer tools assume a specific order, and honestly a tidy list is easier to debug. Object Vertex Group Move is the node for that chore: it nudges the active vertex group up or down the stack.
It's the most boring node in the Avatar Graph pack, and that's fine. Sometimes you just need boring.
How it works
This one wraps Blender's bpy.ops.object.vertex_group_move, another auto-generated passthrough: BPY_OBJ in, the operator runs in edit mode, the same object comes back out. The single meaningful input is direction - UP or DOWN. That's it.
The catch, and it's a real one: the operator moves the active group. So before you can move anything, the right group has to be active. In Blender you'd click it; in this graph you make it active with Object Vertex Group Set Active (or your last assign operation). Graph-wise, that means this node usually appears right after a Set Active node, not floating on its own.
Output is the unchanged BPY_OBJ, so it slots into the middle of a chain without fuss.
Installing it
It comes with the Avatar Graph pack:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
Restart ComfyUI, or grab "Avatar Graph" from ComfyUI Manager. Two install notes apply to every node in this pack: bpy==3.6.0 demands Python 3.10 (use a dedicated conda env per the README), and bpy is a several-hundred-MB headless Blender, so the install is chunky.
Common issues
The usual complaint is "I clicked Move and nothing happened." Ninety percent of the time it's because no group is active - the op has nothing to reorder. Wire in a Set Active node first and confirm you're targeting the mesh you think you are.
The other classic: this acts on the BPY_OBJ you feed it, and if that object isn't actually the one holding your groups, you're rearranging the wrong list. Check the wire.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| directionopt | COMBO | 2 options: UP, DOWN |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |