Skip to content

Trigger Variants — Multiple Actions Per Button

Trigger Variants let you assign different actions to the same button depending on how the user interacts with it.

Instead of two buttons ("Shade Smooth" and "Shade Flat"), you can have one button that does both: - Normal click → Shade Smooth - Shift + click → Shade Flat


How to Add a Trigger Variant

  1. Select a button.
  2. In the button editor, find Trigger Variants and click +.
  3. Set the Trigger type.
  4. Configure the action for that trigger (same fields as a normal button — Type, Operator, etc.).

You can add multiple variants to the same button.


Available Triggers

Modifier Key Triggers

Trigger Activated by
NONE Normal click (the default action)
SHIFT_CLICK Shift + click
CTRL_CLICK Ctrl + click
ALT_CLICK Alt + click
SHIFT_CTRL_CLICK Shift + Ctrl + click
SHIFT_ALT_CLICK Shift + Alt + click
CTRL_ALT_CLICK Ctrl + Alt + click

Key Hold Trigger

Trigger Activated by
KEY_HOLD While the shortcut key is held down (spring-loaded mode)

Drag Triggers

Trigger Activated by
DRAG_UP Drag mouse upward on the button
DRAG_DOWN Drag mouse downward
DRAG_LEFT Drag mouse left
DRAG_RIGHT Drag mouse right
CTRL_DRAG_UP Ctrl + drag up
CTRL_DRAG_DOWN Ctrl + drag down
CTRL_DRAG_LEFT Ctrl + drag left
CTRL_DRAG_RIGHT Ctrl + drag right
SHIFT_DRAG_UP Shift + drag up
SHIFT_DRAG_DOWN Shift + drag down
(40+ combinations)

Practical Examples

Shade Smooth / Shade Flat on one button

Button label: Shading
Default (NONE):       OPERATOR  object.shade_smooth
SHIFT_CLICK variant:  OPERATOR  object.shade_flat

Extrude with modifier options

Button label: Extrude
Default (NONE):       OPERATOR  mesh.extrude_region_move
SHIFT_CLICK variant:  OPERATOR  mesh.extrude_faces_indiv
CTRL_CLICK variant:   OPERATOR  mesh.extrude_edges_indiv

Drag to change a value

Button label: Brush Size
Default (NONE):       PROPERTY  context.tool_settings.sculpt.brush.size
DRAG_UP variant:      OPERATOR  brush.set_size  (larger)
DRAG_DOWN variant:    OPERATOR  brush.set_size  (smaller)

Tip

Triggers are especially useful in Pie Menus where you want to pack maximum functionality into a small number of buttons. One button with 4 drag variants effectively gives you 5 actions in the space of 1.