Displays a submenu in a new contextual menu next to the parent item.
Otherwise, submenus display in the same menu as their parent item, override the previous options in the submenu, and create a back button in the title area.
using UnityEditor; using UnityEditor.UIElements; using UnityEngine; using UnityEngine.UIElements;
public class ContextMenuWindow : EditorWindow { [MenuItem("My/Context Menu Window")] static void ShowMe() => GetWindow<ContextMenuWindow>();
void CreateGUI() { var contextMenuContainer = new VisualElement(); contextMenuContainer.style.flexGrow = 1; contextMenuContainer.AddManipulator(new ContextualMenuManipulator(e => { e.menu.SetDescriptor(new DropdownMenuDescriptor() { allowSubmenus = true, expansion = true, });
e.menu.AppendAction("Submenu/Action 1", a => Debug.Log("Action 1 Works"), DropdownMenuAction.AlwaysEnabled); }));
rootVisualElement.Add(contextMenuContainer); } }