Object Set Use Shape Key Edit Mode
Controlling how edits interact with shape keys in Avatar Graph
- BPY_OBJ
- BPY_OBJ
This one sits close to the heart of what Avatar Graph is actually for. The pack's README describes a node called "Mesh Modify Shape Key" for adjusting shape-key values, and shape keys are what drive the whole "Shape Flow" runtime - blinking, lipsync, any interactive deformation on the finished avatar. Object Set Use Shape Key Edit Mode controls a detail that shapes how edits to a mesh interact with those shape keys while you're building the rig.
How it works
This sets object.use_shape_key_edit_mode directly - the property behind the small icon in Blender's Shape Keys panel that toggles whether editing the mesh's base geometry updates only the currently active shape key, or propagates across all of them at once. With it off (the default), edits made while a shape key is active apply just to that key's stored offsets, leaving the object's other shape keys untouched. With it on, mesh edits affect shared, underlying geometry in a way that's visible across shape keys simultaneously - the distinction that matters when you're trying to make a structural change (fix a stray vertex, adjust base topology) without wanting it to only exist inside one specific expression.
The inputs and outputs that matter
BPY_OBJ- the object whose shape-key edit behavior you're setting.value- boolean, defaultfalse.
Output is a single BPY_OBJ, the same object with the setting applied.
How to install it
ComfyUI Manager, search "Avatar Graph" and install, or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
then pip install -r requirements.txt and restart. Needs Blender's bpy module, pinned to Python 3.10.x - a dedicated conda environment on macOS/Linux, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows with the pack installed through Manager afterward.
Common issues & troubleshooting
If the node fails to load, that's the Python-version pin, not this operator - confirm a clean Python 3.10.x environment with requirements.txt installed cleanly.
The mistake this setting exists to prevent is a real one for shape-key-driven rigs generally: making an edit meant as a base-mesh fix while a specific shape key is active and this is off, only to find the change baked into that one key's offsets rather than shared across the character's other expressions. If your avatar's blink shape key and its neutral base mesh drift apart in ways that only show up in one expression, this setting - and whichever shape key happened to be active when the edit ran - is the first place to look. There's no way to inspect the resulting state from this node alone; if something looks off, you'll need to check the object's shape keys directly in Blender to see where an edit actually landed.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| valueopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |