Nodes/Avatar Graph/Object Set Is Runtime Data
ComfyUI Node

Object Set Is Runtime Data

A flag node that mostly exists for the runtime

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Object Set Is Runtime Data
  • BPY_OBJ
  • BPY_OBJ
valuefalse

ObjectSet_IsRuntimeData is the most "internal plumbing" node in this batch. It does one thing: sets the is_runtime_data boolean on a Blender object. In Blender, that flag marks data blocks as temporary - stuff created at runtime that shouldn't be saved to disk or treated like a permanent asset. It's the "this object is disposable" sticker.

Why it exists (and when you care)

The Avatar Graph pack builds avatars through a multi-stage pipeline: segment the image, build mesh layers, shape-key them, hand the result to the Avatech Shape Flow runtime. A lot of the intermediate meshes are runtime scratch - they exist to be deformed and driven by the editor, not to live in your .blend as authored assets. That's exactly what is_runtime_data is for: telling Blender (and anything reading the scene) that this object is generated on the fly.

For you as a beginner, the honest answer is that you'll rarely touch this node. The default is false, and most stock templates never wire it in. It becomes relevant when you're building a custom pipeline and you want downstream export or the runtime to treat an object as ephemeral - or when you're debugging why the avatar export is carrying along junk meshes you didn't intend to ship.

How it works

This is one of the pack's auto-generated setter nodes, the same family as ObjectSet_ActiveMaterialIndex. Look in blender/ops_mesh.py and you'll see is_runtime_data in the bpy_object_member list of object attributes; create_obj_setter_class turns each entry into a node whose whole implementation is setattr(BPY_OBJ, 'is_runtime_data', value). No Blender operator runs, no geometry changes. The object is mutated in place and passed straight through.

Inputs and outputs

  • BPY_OBJ (optional) - the object to flag.
  • value (BOOLEAN, default false) - set it true to mark the object as runtime data.

Output: BPY_OBJ, the same object, unchanged except for that flag.

Install and gotchas

Same story as the whole pack - ComfyUI Manager (search "Avatar Graph") or:

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

House rules apply: bpy==3.6.0 needs Python 3.10; first load pulls down the ~2.5GB SAM checkpoint plus mediapipe models; the scene resets to factory settings on every graph run, so this flag - like everything else - is rebuilt fresh each execution and won't persist between runs. Live preview needs --enable-cors-header on ComfyUI; without it you export GLB/GLTF from Avatar Main Output instead.

ObjectSet_IsRuntimeData is a flag, not a feature. You'll mostly encounter it while reading other people's graphs and wondering what it's for. Now you know: it's the pack's way of keeping generated scratch geometry out of your saved assets.

Categoryblender

Inputs (2)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ
valueoptBOOLEANfalse

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ