Skip to content

All Features

Every PieMaster feature in one page, in plain language. Each entry says what it does and why it's useful.

Looking for the short pitch instead? See What is PieMaster?.


Pie Menus — Basic mode

Circular menu that opens at your cursor. Buttons sit around a fixed radius, so you flick a direction and you're done.

PieMaster does not use Blender's native pie system, so there is no 8-button limit and no restriction on what a slot can contain.

Pie Menu

Pie Menus — Layout mode

The same pie, with free positioning. Drag any button anywhere and it stays there instead of snapping back to the radius. The center circle and trail are hidden, so you can build a custom-shaped HUD instead of a circle.

Pie Menu in Layout mode

Simple Menus

A flat popup grid at your cursor. Best when you have many tools and would rather read labels than memorize directions.

Simple Menu

Layout Menus — Basic

A multi-column floating panel. Opens at the cursor, closes when you leave it. A full toolbar on demand, with independently resizable columns.

Layout Menu

Layout Menus — Locked (consistent)

The same panel pinned at fixed screen coordinates, always visible — no shortcut needed. It becomes a permanent custom UI panel in your viewport, in any editor.

Consistent LOCKED menus

Object Menus (consistent)

A menu that will be placed on a selected object.

Object menus

Nested Pie Menus

A pie that opens another pie. Build a whole tree: main pie → Modeling / Sculpt / UV sub-pies. Real nesting, unlimited depth, and the trigger key is inherited through every level so quick-action keeps working.

Nested pies

Nested Pie Menus with Chain Mode

Use the Chain mode to go back to the previous pie menu.

Nested Pie Menus with Chain Mode

Pie Call / Menu Call / Layout Call buttons

Three button types that open another menu: a pie, a simple menu, or a layout panel.

Any menu can call any other menu, so you can mix all three types inside a single system.

Pie Call / Menu Call / Layout Call buttons


Shortcut Buttons

Shortcut buttons

A button that fires an existing Blender keyboard shortcut. Put any key combination on a clickable button — no operator hunting, no Python. Limited to Windows

Shortcut buttons

Shortcut type

Choose which event the button reproduces:

Event Meaning
Press Key press
Release Key release
Click Press + release
Double Click Double click
Click Drag Click and drag, with a drag direction (Any, N, NE, E, SE, S, SW, W, NW)

A Held Key modifier is also available, so even complex Blender bindings are reproduced exactly.

Shortcut mode — Operator vs Raw Key

Mode What it does
Operator Finds the operator bound to that key in the current context and calls it. Works for anything a keymap can reach, and lets you pin one binding when several share the key.
Raw Key Sends a real key event to the operating system. The only way to reach keys with no operator behind them (ESC, arrows, Return). Windows and X11 only — falls back to Operator mode elsewhere.

Shortcut mode — Operator vs Raw Key

Button hotkeys — sequences and alternates

Any button in an open menu can be fired from the keyboard, and a hotkey is not limited to one key:

Written Meaning
a one key
az a sequence — press a then z
az, z, f2 alternates — any of them fires the button

Numpad keys are supported, and a button with no label can carry a hotkey too. Menus opened by a shortcut are marked with a K icon in the menu list, so you can see at a glance which ones are bound.

Button hotkeys


Opening Behavior

Key Hold (Hold to Open)

Hold the key and the menu opens. Go to the direction of a button, release the key, the button is selected.

The hold time is adjustable (default 0.2s). On this example, the button as a trigger (Key Hold) as Nested Pie Menu, if you just call an click, the button will set the mode, if you key hold and go on the button, it will activate the Trigger. It's a clever way to automatically fire another action.

Key Hold

Auto open on hover

Pie Call, GPU Menu and Drawer buttons open just by hovering — no click. Moving toward a sub-pie opens it instantly, so navigating a nested system feels like one continuous gesture. You can add a delay (Default = -1)

Auto open on hover

Open on delay (Hover Open Delay)

Sets how long the cursor must rest on a button before hover-open fires. 0 = instant, 0.2 = you can pass over a button without triggering it. Set globally, or per button. Useful when using as a trigger variant Operation 1: go in edit mode Operation 2: call a pie menu when hovering the button and waiting a little

Open on delay (Hover Open Delay)

Auto Fire on Hover

The same idea as auto open on hover for action buttons: the operator runs on hover, with no click at all. Off by default, since it runs the real action rather than just opening a menu.

Auto-Fire on Hover

Toggle Menus

Press the shortcut again to close the menu, wherever the mouse is. No need to aim at the center or reach for ESC.

Unavailable together with Hold to Open, and ignored for a plain mouse button with no modifier.

Toggle Menus

Quick Direction

Flick past a distance threshold and release the key — the button fires without clicking. Pure muscle memory, and the fastest way to use a pie.

The distance is adjustable, and it can be enabled for grid directions too.

Quick Direction

Pie Flash Mode

While Quick Direction is still armed the pie stays invisible and only the button you are flicking toward is drawn. Flick, release, done — you never see the full menu.

Hold instead of flicking and the whole pie appears as usual, so the same key serves beginners and muscle memory.

Flash Time sets how long the fired button stays on screen afterwards, so you can read what was activated (0 = off). The action always runs immediately; the flash never delays it.

Basic (radial) pies only — ignored in Layout mode and with Center Placement.

Pie Flash Mode

Spring Loaded

The menu lives only while the key is held. Release it and the highlighted button fires, then the menu is gone. Press, flick, release.

Spring Loaded

Directional Auto Hover

Highlights the nearest button in the direction you're moving, even if you overshoot it. Stops you missing buttons when moving fast.

An engage threshold controls how far the cursor must travel from the center first, so buttons near the center don't fire too early. Automatically disabled for grid layouts.

Directional Auto Hover

Center Placement

Opens every menu at the center of the editor instead of at the cursor. Useful on large screens, or when your cursor position varies too much.

Center Placement

Auto Area Scale

The menu shrinks automatically when it opens in a small editor, so it never overflows a narrow panel. Threshold and minimum size are adjustable.

Auto Area Scale

Keep Menu In Area

Nudges the menu inward so it stays fully inside the editor, keeping a margin from the edges. Open near a corner and nothing gets clipped.

Locked menus always stay in view, and this is ignored for pies when Center Placement is on.

Keep Menu In Area


Button Logic

Depress Condition

A Python one-liner that draws the button pressed and highlighted when it's true. Your menu shows Blender's actual state at a glance — active snap mode, active tool, enabled overlay.

'VERTEX' in context.tool_settings.snap_elements

Keep Menu In Area

Toggle buttons and Toggle Condition

A button that shows or hides other buttons — and whole columns.

Give the toggle an ID, tag other items with the same Toggle Condition, and one click swaps the menu's entire content: tabs, modes, or workspaces inside a single menu.

Exclusive mode allows only one toggle active at a time; disable it to keep several active together. A toggle can also start active when Blender launches.

Toggle buttons

Trigger Variants

Several actions on one button, chosen by how you interact with it: Shift+click, Ctrl+click, Alt+click, drag up/down/left/right, key hold — over 40 combinations.

One "Shade Smooth" button that does Shade Flat on Shift+click, instead of two buttons.

Triggers

Conditions (menu and button level)

Show a button only in Edit Mode, only with a mesh selected, only in Sculpt Mode. Menu-level conditions stop the menu from opening at all, so the same key can give a different menu per context.

Conditions

Conditions are re-checked live while a menu is on screen, not only when it opens: a LOCKED or Object menu hides itself the moment its condition stops being true, and comes back when it is true again.

Helpers are provided so an expression stays valid wherever it is evaluated — view3d(), perspective(), in_camera(), mode(), has_area(). They find the real 3D view for you, which context.space_data cannot always do.

not in_camera()      # hide this menu in camera view
mode() == 'SCULPT'   # sculpt mode only

getattr and hasattr are also available, in conditions, dynamic labels and dynamic icons alike.

Group Conditions — hide many buttons at once

One expression, a whole block gone. No need to repeat the same condition on every button.

Where What it hides
Grid / pie slot the slot and every button it holds (the other slots keep their angle)
Layout column the column and all its buttons; the remaining columns close the gap
Section the section header and every button under it

A hidden container never evaluates the conditions of the buttons inside it — one check instead of one per button, so a large conditional menu stays fast.

Grid and column settings (name, width, columns, toggle condition, condition) are editable straight from the Preview-Edit button popup, not just in Preferences.

Grids / Columns Conditions

Dynamic Icons & Dynamic Labels

Combine Dynamic Icon & Label to make toggle buttons

Dynamic Icons

The icon of a button changes with the scene, the same way a Depress Condition changes its look.

Three ways to write it:

# Rules — first true expression wins
C.tool_settings.use_snap = snap_on, not C.tool_settings.use_snap = snap_off

# Switch on one property value
C.scene.tool_settings.transform_pivot_point: MEDIAN_POINT = pivot_median, CURSOR = pivot_cursor

# Bare property path — PieMaster asks Blender which icon matches the value
C.scene.tool_settings.transform_pivot_point

Available on Operator, Property, Python, Label, Drawer and GPU Menu buttons. Results are cached, so a dynamic icon costs nothing per frame.

Dynamic Labels

Labels are not just text. They can display live values, span several lines, and mix sizes and colors inside a single button.

Dynamic Labels

1 Button\n\nUsing expressions\n\nLabel\nDynamic Icon\nOperator
Code Effect
{expr} shows the value — Res {C.scene.render.resolution_x}
{expr:spec} with a Python format spec
bare property path auto-displayed as a value
\n line break
\l \c \r align that line left / center / right
\sNN font size of that line, in % (\s150 = 1.5×)
\xNN spacing above that line, in %
(text;(r,g,b,a)) a colored run inside a line

Angles and rotations are converted to degrees automatically.

Combine Dynamic Icon & Label to make toggle buttons

You have different ways to show buttons, add a button with 2 items, each item will be visible depending on a condition. Or use expression like Dynamic Label and Dynamic Icon to use one button.

# Toggle Eevee & Cycles

# Label
{'Cycles' if C.scene.render.engine == 'CYCLES' else 'Eevee'}

# Dynamic Icon
C.scene.render.engine: CYCLES = shading_rendered, BLENDER_EEVEE = shading_texture

# Operator
bpy.context.scene.render.engine = 'BLENDER_EEVEE' if bpy.context.scene.render.engine == 'CYCLES' else 'CYCLES'

Tooltips

Same as the labels, tooltips can use multilines, and the other options (\l, \s, \x, etc.)

Tooltips 1

You can make them dynamic and also use properties!

Tooltips dynamic

{'CYCLES' if C.scene.render.engine=='CYCLES' else 'EEVEE'}\n\nViewport Samples: {C.scene.cycles.preview_samples if C.scene.render.engine=='CYCLES' else C.scene.eevee.taa_samples}\nRender Samples: {C.scene.cycles.samples if C.scene.render.engine=='CYCLES' else C.scene.eevee.taa_render_samples}

You can also add picture and/or GIFS You need to take into account that for the GIFS, the addon will convert them into single images and read them one after one other to make the animation. It can take some time to show properly for the first time!

Tooltips gifs

Override Button Colors

Add a color to a button.

Override Button Colors

You can add conditions to change the color of the button!

#Button
(0.3,0.6,0.8,1) if C.scene.render.engine=='CYCLES' else (0.8,0.6,0.1,1)

#Button Hover
(0.4,0.7,0.9,1) if C.scene.render.engine=='CYCLES' else (0.9,0.7,0.2,1)

This code will change the color of the button if we are using Cycles as render engine

Override Button Colors dynamic

Color buttons — Basic and Set

Mode Behavior
Basic the swatch shows the property value; click opens the color picker, drag edits HSV
Set the swatch holds a fixed color and writes it into the property on click

Several Set swatches sharing one property path make a palette — click to paint with it.

States

States

A button that changes label, icon and color based on a condition. Grey "Wireframe" when off, green "Wireframe ON" when active.

States


Building Menus

Right-click capture

Right-click any button in Blender's interface → PieMaster: Add to Pie. The operator, its properties and its icon are captured automatically.

This works on add-on buttons too, not just native Blender ones. Building a menu takes seconds and zero typing.

Right-click capture

Live Preview and Edit Mode

Preview the menu in the viewport while you edit it. Drag buttons to move them, adjust the radius, reorder, resize, snap to a grid, and add buttons directly inside the live menu.

Grid and column settings are edited from the same popup as the button, pie slice zones follow the buttons you move, and the Preview-Edit shortcut is customizable in the keymap settings (it is no longer locked to Ctrl+Shift+RMB).

Edit Mode

Sliders, Enums and Color pickers

Real controls, not just action buttons. Drag a slider to change a strength, show an enum as pills or a compact dropdown, drag a color swatch to tune hue, saturation, value and alpha.

Drawers, Sections and GPU dropdowns

Drawers slide out from the side of the menu on hover, sections collapse, and GPU menus open a compact dropdown list. Pack a lot of tools into a menu without clutter.

Drawers can be tuned as a block: item width and height for all children at once, rows, icon-only children, arrow on the left, on the right or hidden, and auto-close when an item is picked. Their children support Depress Condition and Toggle Condition like any other button, and dropdown items show their tooltips.

Only one drawer or dropdown is open at a time, and trigger variants (Ctrl+click, drag, …) work on drawers, drawer children and dropdown items.

Drawers

Python buttons

Run an inline expression or a whole .py file from a button — anything Blender can't do with a plain operator.

Python buttons

Macros

Create Macros in one line in an operator type.

#Cube ite 2

bpy.ops.mesh.primitive_cube_add();bpy.ops.object.modifier_add(type='SUBSURF');bpy.context.active_object.modifiers[-1].levels = 2;bpy.context.active_object.modifiers[-1].subdivision_type = 'SIMPLE';bpy.ops.object.modifier_apply(modifier='Subdivision')

#Cube + Bevel Ite 4

bpy.ops.mesh.primitive_cube_add();bpy.ops.object.modifier_add(type='BEVEL'); bpy.context.active_object.modifiers[-1].width = 0.3; bpy.context.active_object.modifiers[-1].segments = 4;bpy.ops.object.shade_smooth();bpy.ops.object.modifier_apply(modifier='Bevel')

#Rounded Cube

bpy.ops.mesh.primitive_cube_add();bpy.ops.object.modifier_add(type='SUBSURF');bpy.context.active_object.modifiers[-1].levels = 2;bpy.ops.object.shade_smooth();bpy.ops.object.modifier_apply(modifier='Subdivision')

#Sphere + Array 2

bpy.ops.mesh.primitive_uv_sphere_add();bpy.ops.object.modifier_add_node_group(asset_library_type='ESSENTIALS', asset_library_identifier="", relative_asset_identifier="nodes/geometry_nodes_essentials.blend/NodeTree/Array");bpy.context.active_object.modifiers[-1].properties.inputs.Socket_5.value = 2;bpy.context.active_object.modifiers[-1].properties.inputs.Socket_21.value[0] = 1.5;bpy.ops.transform.translate(value=(1, 0, 0));bpy.ops.transform.translate(value=(-1, 0, 0))

Macros

Sections

Create sections to add buttons in them. Add an icon, a custom icon, or a dynamic icon. Same for the Label, it can be dynamic. You can edit the label and icons positions too (Left, Center, or Right).

You can add sections into sections

Sections

Sections Settings

Drawers

Add items in Drawers and set the flow! With drawers, you can add many types of buttons, and you can arrange them as you want. Change the size and width of the Item, how many per row. Add icons, custom icons, dynamic icons, dynamic label with multilines, etc.

A lot of possibilities

Drawers

You can also set a drawer as an asset folder library! Change the Item Form to Asset folder, set a path and voilà.

Drawers asset folder

It also support subfolders

Drawers subfolders

One search popup to find any operator, property or condition without leaving the editor.

It keeps a Last Used list for the buttons you add most often.

Unified Search

The Library tab can either insert a new button or replace the one you opened it from.

Unified Search

Button Library

Every button of every preset, in one searchable list. Found a good button in another preset? Add it to yours in one click — from Preferences, from Preview-Edit, or from the search popup.

Buttons can also be saved to disk, alone or as a whole pie slot, in your own folder: they survive add-on updates and can be shared as plain files. Icons and Python scripts are bundled next to them automatically.

Unified Search

The same thing one level up: browse whole menus from every preset, or from your own saved folder, and add them to the preset you are working on.

Building a new preset becomes assembly rather than typing.

Menu Library

Load Preset

Import a shipped or user preset directly from a list, without going through the file browser.

Folders in the menu list

Group menus into folders to keep a large preset readable. Folders are pure organization — they change nothing in how the menus behave.

One clipboard, everywhere

Copy a button anywhere and paste it anywhere: pie slots, simple menus, layout columns, drawers, nested drawers, GPU dropdowns. Duplicate, Copy and Paste are available at every level.

In Preview-Edit, Ctrl+C / Ctrl+X / Ctrl+V copy, cut and paste the selected button, and Ctrl+Z undoes it — directly in the live menu, without touching the scene's own undo.


Appearance

Full Design system

Every color, size, font, border radius, glow, shadow and spacing is customizable, per menu.

  • Ready-made themes, plus your own saved design presets
  • Global HUE / saturation / value shift to recolor a whole design at once
  • Per-menu scale, to adapt an imported preset to your screen
  • Blender theme sync, so menus match your active theme

Design

Separators with styles

A separator is no longer only an empty gap. Choose its look: Space, Full line, Centered line, Dotted, or Double dotted, with adjustable thickness, length and color.

Line styles keep the background continuous, so a strip of glued buttons stays one block with a rule drawn across it.

Merge Button Borders

Removes the outline between connected buttons and draws a single contour around the group. For zero-spacing layouts where per-button borders otherwise double up on every seam. The hovered button keeps its own outline, so the highlight still reads.

Icon Side and Label Align

Choose which side of the button the icon sits on (left, right or top), and how the label aligns next to it (default, left, center, right). A Pie Call icon can point at the pie it opens; a list of buttons can align its labels like a real menu.

Icon Side and Label Align Icon Side and Label Align on drawers and sections

Icon library and custom icons

Over 700 bundled icons, plus Blender's own icons, plus your own PNG folders. With search, favorites and recents.

Icon library and custom icons

Every menu has its own scale in the Design tab, so an imported preset fits your screen. Grid buttons in pie menus have an adjustable height as well.

The Edit, Capture, Button Library and Search popups have adjustable widths, and the icon grid its own size — the editing UI adapts to your monitor instead of the other way round.

Sounds and bounce animation

Optional hover, click and enter sounds, and a bounce animation on click. Tactile feedback, fully adjustable — or off.


Extras

Pause on center click

Click the center of an open pie to freeze it. It stays open so you can change several settings in a row. Click the center again or press ESC to close.

Object Menus and Auto-Show

Menus that appear on their own next to the selected object, or as soon as a condition becomes true — with no shortcut at all. Contextual UI that shows up when it's relevant and fades when it isn't.

Object menus stay readable at any zoom, follow their object, and Auto Show can be toggled straight from the menu list.

Pin state and last position

Simple and Layout menus remember whether they were pinned and where they were last placed, so a panel you moved once opens where you left it.

Right Mouse behavior

Right Mouse closes an open menu by default, and RMB + drag moves it. If you use RMB for something else, closing on RMB can be disabled — ESC still closes. The native Blender right-click menu keeps working in every mode, Sculpt and Paint included.

Presets, import / export, sharing

Group menus into presets, one per project or per workflow. Export as a .json file, or as a .zip bundling your icons and Python scripts, and share a complete menu system with your team in one file.

Everything saves automatically — there is no manual save step.


Next: build your first menu with the Quick Start (5 minutes).