Nodes/Avatar Graph/Object Geometry Nodes Move To Nodes
ComfyUI Node

Object Geometry Nodes Move To Nodes

Promoting a one-off modifier setup into a reusable node group

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Geometry Nodes Move To Nodes
  • BPY_OBJ
  • BPY_OBJ

When a Geometry Nodes modifier is set up directly on an object, its node tree can start out private to that one modifier - not shared, not reusable elsewhere. Object Geometry Nodes Move To Nodes is the "promote this to something I can reuse" step: it converts that embedded, object-specific setup into a proper, standalone Geometry Node Group.

How it works

It wraps bpy.ops.object.geometry_nodes_move_to_nodes(), a feature added to Blender's Geometry Nodes modifier tooling. After it runs, the modifier no longer holds a private, one-off tree - it references a named node group instead, the same kind of shareable asset you'd normally build in the Geometry Nodes editor and reuse across multiple objects and modifiers.

It has a known limitation worth knowing before you reach for it: it doesn't work if the modifier's node tree has no actual geometry input or output socket. If you call it on a tree that isn't set up as a proper geometry-processing setup, expect it to fail rather than silently doing something unexpected.

Like the rest of this pack's geometry-nodes-family operators, this isn't part of Avatar Graph's documented shape-key rigging pipeline - it's a general Blender modifier-management tool that got included because the pack auto-generates nodes across a wide swath of Blender's object.* operators.

The inputs and outputs that matter

There's exactly one input:

  • BPY_OBJ - the object carrying the Geometry Nodes modifier to convert.

Output is a single BPY_OBJ, passed through, with the modifier's tree now living as a reusable group.

How to install it

ComfyUI Manager: search "Avatar Graph", install, restart - or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui && python -m pip install -r requirements.txt

bpy needs Python 3.10.x, exactly. Windows gets a prebuilt Python-3.10 ComfyUI zip from the README; macOS/Linux wants a dedicated conda create --name comfyui python=3.10 environment. Add --enable-cors-header on restart (--force-fp16 too on Mac) for the live avatar preview; without it you still get full functionality via .glb/.gltf export.

Common issues & troubleshooting

Node not loading traces to the Python-version pin - check ComfyUI's startup console for a bpy import error first.

This node fails outright - the documented cause is a node tree without a proper geometry input or output socket. Check that whatever modifier you're targeting is actually a functioning geometry-processing setup, not an edge case that happens to be attached as a modifier without the sockets this operator expects.

Not sure you need this at all - if you only have one object using a given Geometry Nodes setup and don't plan to reuse it elsewhere, there's no real need to run this; it exists specifically for the "I want to share this setup across multiple objects" case. If you want to make an existing shared node group unique to one object instead (the opposite direction), that's Object_GeometryNodeTreeCopyAssign, not this node.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ