TDS - Radial Menu ( Autodesk Maya)
A radial menu that replaces maya's right-click menu to trigger your own tools and commands
Features:
- Inner / outer ring with nested children; hover to reveal children, LMB Single-Click, LMB Double-Click and Release scripts.
- Preset system (scroll wheel to swap presets) with per-preset colours, global size controls.
- Editor UI to add/remove/reorder sectors and edit commands and descriptions.
- Smart Mode auto-detects department/selection and shows the corresponding preset. Department is pulled from the main department drop-down in Maya.
- Section Widgets Widgets inside each sections, that can display and toggle custom commands
Installation:
Works on Maya 2020+ (PySide2). Tested on Windows.
⚡ You use the Python commands (see Quick Start) to activate or toggle the menu.
Step 1 — Copy Core Library (required)
Download and place the folder TDS_library/TDS_radialMenu into your Maya scripts path: Documents/maya/scripts/
### Option 1 — Plug-In Install (recommended)
1. Complete Step 1.
2. Download and copy TDS_RadialMenu_Plugin.py into your Maya plug-ins folder: Documents/maya/[version]/plug-ins/
3. In Maya, open Plug-in Manager (Windows → Settings/Preferences → Plug-in Manager).
4. Find TDS_RadialMenu_Plugin, tick Loaded, and (optional) Auto-Load so it loads automatically on startup.
5. Once loaded, use the Python commands (see Quick Start) to toggle or disable the menu.
✅ This method keeps the menu available every time you launch Maya, but you can still turn it on/off temporarily with Python.
### Option 2 — Python Install
1. Complete Step 1.
2. Each Maya session, run the Activate Radial Menu script from Quick Start.
3. (Optional) Auto-load on startup: add the \"Activate Radial Menu\" commands to your userStartup.py.
⚠️ Startup caution: With this startup method, do not click or interact with Maya during launch. Any UI interaction before startup completes can prevent the menu from loading.
Tip: wrapping the call in cmds.evalDeferred can improve reliability.
Example userStartup.py:
from TDS_library.TDS_radialMenu import radialMenu_main as rm
import maya.cmds as cmds
cmds.evalDeferred(lambda: rm.launch_or_toggle_radial(True), low=True)## Quick Start
- Activate Radial Menu:
from TDS_library.TDS_radialMenu import radialMenu_main as rm
rm.launch_or_toggle_radial(True)- Toggle or force the active state:
rm.launch_or_toggle_radial() # toggle
rm.launch_or_toggle_radial(True) # force ON
rm.launch_or_toggle_radial(False) # force OFF- Uninstall from current Maya:
rm.uninstall_radial_menu()- Swap presets on the fly:
from TDS_library.TDS_radialMenu.radialMenu_main import select_preset
select_preset("Rigging")- Toggle Smart Mode:
rm.toggle_smart_preset()- Editor UI
from TDS_library.TDS_radialMenu import show_window
show_window()The editor lets you change labels, descriptions, commands, colours and global size (radius, ring gap, outer width, child angle multiplier).