Object Gpencil Modifier Move Up
Walk a modifier up the stack, one slot at a time
- BPY_OBJ
- BPY_OBJ
Object_GpencilModifierMoveUp nudges a grease pencil modifier one slot up the stack - the exact inverse of Object_GpencilModifierMoveDown. Grease pencil modifiers evaluate in stack order, top to bottom, and that order is often the difference between a clean outline and a muddy one. This node is how you move a modifier toward the top of that order, one step at a time.
When you'd reach for it
Right after anything that adds a modifier at the wrong place. Object_GpencilModifierAdd appends to the end of the stack and Object_GpencilModifierCopy dumps its duplicate at the bottom, and neither is usually where you want the new modifier to live. So the bread-and-butter sequence is: add or copy, then MoveUp a few times to bring the modifier into position. It's the gentler alternative to Object_GpencilModifierMoveToIndex - you use it when you know the direction but not the exact target, or when you want to preserve relative order while walking something up.
How it works
Thin auto-generated wrapper over bpy.ops.object.gpencil_modifier_move_up. It makes your BPY_OBJ active, moves the named modifier up one slot, and passes the object back through. Inputs:
BPY_OBJ(optional) - the grease pencil object.modifier(STRING, default empty) - the name of the modifier to move.
Output: BPY_OBJ, the same object, with the stack reordered by one position.
The same naming rules as its siblings
Every Object_GpencilModifier* node addresses modifiers by exact name, and this one rewards naming discipline most, because moving the wrong modifier is silent. Watch out for Blender's auto-suffixing: a copied GP_Noise becomes GP_Noise.001, and if you mean to move the copy, GP_Noise will move the original instead. There's no dropdown or query node, so keep your modifier names deliberate - it saves real debugging time.
Also worth knowing: if the modifier is already at the top of the stack, the move is a harmless no-op. The node reports success, nothing changes, and that's expected behavior rather than a fault.
Install and gotchas
Standard pack install:
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
or ComfyUI Manager → "Avatar Graph". House rules: Python 3.10 for bpy==3.6.0, ~2.5GB SAM checkpoint + mediapipe models on first load, scene resets every run (so the stack order is rebuilt fresh each execution), live preview needs --enable-cors-header.
Object_GpencilModifierMoveUp is a tiny, focused tool - but "one slot up" is the exact operation that fixes half of all modifier-order annoyances. When your outline is rendering underneath instead of on top, this is the node that puts it back where it belongs.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| modifieropt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |