Object Set Empty Display Type
Changing how an Empty draws in the viewport
- BPY_OBJ
- BPY_OBJ
The ObjectSet_ prefix (as opposed to Object_ or ObjectCall_) marks a small family of nodes in this pack that set a plain Blender object property rather than run an operator or call a method. Object Set Empty Display Type sets object.empty_display_type - the setting that controls how an Empty object (a Blender object with no actual geometry, used purely as a reference point, target, or anchor) is drawn in the viewport.
How it works
Empties are invisible in a render by default - they're organizational tools, not visible geometry. What does change is which icon represents them in the 3D viewport: arrows, a plain axis cross, a circle, a cube, a sphere, a cone, or an image reference. If your Avatar Graph rig uses Empties as targets - an eye-look-at anchor, a hair-curves attachment point, a constraint target - this node is purely about making that Empty easier to identify and work with visually while you're building the graph, not about anything functional.
The inputs and outputs that matter
value- the display type to set, as a string (defaultARROWS). Blender's valid options for this property arePLAIN_AXES,ARROWS,SINGLE_ARROW,CIRCLE,CUBE,SPHERE,CONE, andIMAGE. Note this field is typed as a plain string in the node's schema rather than a dropdown, so you'll need to type one of those exact values yourself rather than pick from a list.
Output is the same BPY_OBJ, display type updated.
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, cd avatar-graph-comfyui && pip install -r requirements.txt, restart. Needs Python 3.10.x, the hard requirement for bpy across the whole pack - a newer Python environment either fails this install or leaves the blender-category nodes unavailable. macOS/Linux: dedicated conda env at 3.10. Windows: Avatech's prebuilt Python-3.10 ComfyUI zip, pack installed via Manager afterward.
Common issues & troubleshooting
Typo'd the value and nothing visibly changes. Since value is a free-text string rather than a validated dropdown, typing Arrows or arrow instead of the exact ARROWS Blender expects can silently fail to apply or throw an error depending on how strictly the underlying property setter validates - double-check you're using Blender's exact, all-caps enum identifier.
Running this on a non-Empty object does nothing useful. empty_display_type only means anything for Empty objects - setting it on a mesh, curve, or any other object type either has no visible effect or isn't a meaningful property to be setting in the first place.
Doesn't affect the exported avatar. This is purely a Blender-viewport display setting for your own convenience while building the rig - it has no bearing on the .glb/.gltf export or Shape Flow's runtime behavior, so don't chase a rendering/export bug here.
Not in the README. Correct - it's one of the pack's lower-level blender-category nodes generated from Blender's own object properties via generate_blender_types.py, not one of the roughly seven higher-level nodes the README documents by hand.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| valueopt | STRING | ARROWS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |