Pie Menu Editor¶

Pie Menu arranges actions in Blender’s pie menu. Edit eight directional items and two extra slots at the top and bottom. Open it from a shortcut or another menu’s Menu slot.

Setting names and constraints on this page describe PME 2.1. Older images and videos may show a different interface or arrangement.

Configuration guide — features, combinations, and uses (for AI)

Name: Pie Menu / Type ID: PMENU. Use the name in user explanations and the type ID when checking data or implementation. Its role is to display the contents of eight directional slots and two extras using Blender’s native pie menu. There are ten fixed slots. Empty slots retain their positions.

Slot assignments

Tab

Assignment and purpose

Type ID

Command

Runs an action: one operator or Python performing several operations

COMMAND

Property

Places a widget to display or change a value at an RNA property path

PROP

Menu

References another PME customization. Invocation and drawing depend on the target

MENU

Hotkey

Finds a key assignment in the runtime context and runs its operator. See difference from key input

HOTKEY

Custom

Draws UI directly with Python using Blender’s UILayout. L is the layout. Wrap multiple elements in one column or box

CUSTOM

Unassigned slots are empty (EMPTY). Before proposing code, check destination-specific constraints in Code Input and Execution.

Common Menu combinations

  • Pie Menu → Pie Menu: opens a nested pie. To organize actions by category and move into a child while holding the trigger key, enable the parent’s Confirm on Release and a positive Confirm Threshold. See nested setup.

  • Pie Menu → Regular Menu / Popup Dialog: opens a separate menu, or places its contents inside the pie with Expand Regular Menu / Expand Popup Dialog. Expanded Popup Dialog width and position can be set on the destination slot. See expansion options and requirements.

  • Pie Menu → Property / Property Stack: places the property’s widget. This is not an action that opens a child menu.

These are examples, not an exhaustive target list. Menu tab references and script calls from Command use different routes.

Uses and design decisions

  • Open from a hotkey: choose the editor, Keymap, and key. Click Drag uses the setting value TWEAK. See Keymap / Hotkey.

  • Use as a Context Router branch: choose a Pie Menu by mode or target. Define branch conditions and fallback behavior. See context-dependent switching.

  • Move from a parent pie into detailed actions: assign categories to the parent and individual actions to children. Choose between clicking to open or holding the key and moving outward. See nested setup.

Combining menus does not guarantee that each action has its required editor, mode, and target. See Poll for availability, and menu slots for placement and editing.

Interface and editing workflow¶

Transform Preset Pie in a Blender 5.2.0 LTS / PME 2.1.0-beta.6 development environment. The values shown belong to this example.
  1. Name and basic controls

  2. Advanced settings

  3. Keymap / Hotkey

  4. Menu slots

Configure advanced settings and invocation, then assign actions or properties to the ten slots.

Expand Slot Tools is a display setting that exposes edit, copy, move, and other controls at each slot’s right end. See the shared Expand Slot Tools description for their behavior. Names, tags, search, adding menus, and overall editor operation are covered in Common Editor Elements. The following sections describe Pie Menu-specific placement and behavior.

Name and basic controls¶

Transform Preset Pie name row, with enabled state, preview, menu selector, name, tags, documentation, and advanced settings.
Name and basic controls for the selected menu.

From left to right: Enable/Disable → Preview → Menu selector → Name → Tags → Documentation → Advanced settings.

The menu name identifies the entire customization: Transform Preset Pie in the image. Use this row to set the name and enabled state and open preview or advanced settings. It is separate from the display names on individual slots. See selected menu settings for each button.

Advanced settings¶

Expanded advanced settings: Description, Poll, Radius, Threshold, Confirm Threshold, and Confirm on Release.
Advanced settings expanded. Values belong to this example menu.

Advanced settings controls the description, availability, display radius, and how items are selected and confirmed. Open it with the selected menu’s gear button.

  • Description: the menu’s description, optionally returned dynamically by Python. See the shared Description settings.

  • Poll: tests whether the menu is available in the current context. See the shared Description / Poll settings.

The following settings control Pie Menu distances and confirmation.

Setting

Meaning

Range and default

Radius

Display radius, separate from selection distance

-1–1000; -1 uses Blender’s current setting

Confirm on Release

Enables confirming an item by releasing the trigger key

On by default

Threshold

Distance from the center before directional selection starts

-1–1000; -1 uses the default referenced by PME

Confirm Threshold

Additional distance beyond Threshold for distance-based confirmation

-1–1000; -1 uses the default; 0 disables distance-based confirmation

Distance fields use pixels. Blender’s UI scale also affects the actual thresholds. Threshold and Confirm Threshold appear when Confirm on Release is on. With it off, these per-menu distance settings are not used.

When Radius differs from Blender’s current value, PME temporarily disables pie menu animation to apply the custom display radius.

Selection distance versus display radius¶

This diagram shows the distances used when holding the trigger key to select an ordinary directional item. Radius controls where items are drawn and is not added to the confirmation distance.

        flowchart LR
    A["Center"] -->|"Threshold"| B["Selection begins"]
    B -->|"Confirm Threshold"| C["Distance confirmation boundary"]
    

Distance-based confirmation is available when Confirm Threshold is positive. For example, Threshold 20 and Confirm Threshold 40 put the confirmation boundary 60 from the center before UI scaling. Confirm Threshold does not need to exceed Threshold. Crossing the boundary does not execute immediately: Blender confirms after detecting a brief pause in mouse movement.

Confirm on Release also does not guarantee that a short tap of the trigger key closes the menu. A short tap can switch Blender to click selection instead.

Keymap / Hotkey¶

Keymap set to 3D View Generic and Hotkey to Shift C.
Example invocation location and key settings.

From top to bottom: Keymap (where) → Hotkey (trigger key) → Modifiers. Use the triangle on the left to set Open Mode (trigger action).

Keymap selects where the menu is available; Hotkey defines its key combination. See the shared Hotkey settings for the input controls.

Standard Open Modes are Press / Hold / Double Click / Click Drag / Key Chords. Click Drag opens the menu through a dragging action. Distinguish Experimental modes from the ordinary choices.

Open Mode determines when the menu opens. It is separate from Confirm on Release and Threshold, which affect selection and confirmation after opening.


Create and check an item¶

  1. Click Edit Slot at the desired one of the ten positions.

  2. Choose Command / Property / Menu / Hotkey / Custom according to its purpose.

  3. Set the contents, display name, and icon, then confirm with OK.

  4. Open the menu in the intended editor and check direction and behavior.

See slot presets for creating items from existing presets. For code, Code Input and Execution explains destinations and limits. Opening preview alone does not prove that an action works with the mode and selection at its actual invocation site.

Advanced uses¶

Switch by context¶

Added in version 2.1: Conditional routing with Context Router.

Use Context Router to choose a menu by mode or target object. Define condition scope and fallback behavior, then configure each branch’s target.

Even when testing conditions in code, do not treat every non-Object Mode context as Mesh Edit Mode, or assume an active object always exists.

Nested Pie Menus — from categories to actions¶

For example, place Selection and Transform in a parent Modeling pie and link each to a separate Pie Menu. Set the parent’s directional slots to Menu and select existing child Pie Menus. No Command code is needed simply to open a child.

Use the parent’s Confirm Threshold to enter a child while holding the trigger key. When distance-based confirmation occurs in the parent, the selected Menu slot opens its child.

  1. Set the parent to open from a hotkey and enable its Confirm on Release.

  2. Set the parent’s Confirm Threshold to a positive value. For example, Threshold 20 plus Confirm Threshold 40 gives a boundary 60 from the center before UI scaling. These are illustrative values, not fixed recommendations; adjust for comfortable use.

  3. Hold the trigger key, move toward the child, then pause briefly beyond the boundary to enter it. Merely crossing the boundary does not open it instantly.

Confirm Threshold 0 disables this distance-based confirmation. Changing Radius alone does not change the confirmation distance. See Advanced settings for the calculation and defaults. This example applies to directional Menu slots; the top and bottom extras do not use the same directional selection.

Check entering the child while holding the key separately from confirming the intended child action. Increase the parent’s confirmation distance if you enter children accidentally; reduce it if entering is difficult.

Open a Menu target or expand its contents inside the pie¶

Create a Regular Menu for an action list or a Popup Dialog for settings arranged in rows and columns, then reference it from the pie slot’s Menu tab. Enable expansion on the referencing slot to show the contents in place.

Target referenced from the pie

Expansion off

Expansion on

Regular Menu

Select to open a separate menu

Expand Regular Menu places its items inside the pie

Popup Dialog

Select to open a separate dialog

Expand Popup Dialog places its layout inside the pie

Added in version 2.1: Expand Regular Menu draws the Regular Menu’s items within the pie.

Do not confuse it with Open on Mouse Over offered by other placements. For a Pie Menu reference, expansion does not mean opening a separate menu on hover. Expand Slot Tools is also separate: it exposes editing buttons in the editor.

Width and position of an expanded Popup Dialog

Added in version 2.1: Set the expanded Popup Dialog’s width and position on its destination slot.

The same dialog can have different settings at each placement.

  • Width: -1 is natural width (Auto). An explicit value ranges from 100 to 2000 pixels.

  • Radial Offset: distance outward along the slot’s direction. Pie Menu does not support inward movement here.

  • These controls apply to Pie Menu → Popup Dialog with expansion on. Do not assume the same controls exist for Regular Menu expansion.

See Popup Dialog Editor for the dialog’s own row-and-column layout.

Call another menu from a script¶

A Command slot can call a menu by name as follows: This example requires a menu named My Sub Menu.

open_menu("My Sub Menu")

Open on Mouse Over opens supported menus on hover. It is distinct from entering a child pie through directional selection.

Hotkey slots versus actual key input¶

A Hotkey slot searches the Keymaps for the runtime editor and mode for an enabled Press assignment matching the specified key and modifiers, then calls an available operator. The same key can produce different results according to context and the user’s key assignments.

This does not reproduce the key’s press, hold, and release events. Do not assume it can replay Hold, Double Click, or keys within a modal interaction. PME menu-invocation assignments are excluded from this search. Use the Menu tab to open another PME menu.

Toggles, sliders, and properties inside a pie¶

Use a Property slot first when displaying an existing Blender property. Custom slots can combine several UI elements through layout code. The following example toggles the grid in the 3D Viewport. Check that C.space_data belongs to a 3D Viewport.

L.prop(C.space_data.overlay, "show_floor")

For settings such as proportional editing, whose source varies by editor or mode, one property path may not cover every context. Identify the display location and target data separately, then switch with Context Router if needed.


Reference videos (original author’s channel)¶

From roaoao’s videos. These show an older interface and workflow.

Pie Menu Editor for Blender
Pie Menu Editor Review by Jimmy Livefjord
Nested Pie Menu, Confirm Threshold and Sticky Keys