# MainToolbarDropdown

> Describes the content and behaviour of a dropdown element for the main toolbar.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.Toolbars](/engine/6000.7/script-reference/unityeditor/toolbars.md)
* **Assembly:** UnityEditor
* **Inherits from:** [MainToolbarElement](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbarelement.md)

```csharp
[Icon("UIToolkit/Icons/DropdownField.png")]
public sealed class MainToolbarDropdown : MainToolbarElement
```

## Remarks

Return an instance of this class through a static method registered with [MainToolbarElementAttribute](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbarelementattribute.md) to add a dropdown element in the main toolbar. The following example demonstrates a dropdown that switches the active scene.

```csharp
{code Tests/EditModeAndPlayModeTests/EditorToolbar/Assets/Examples/MainToolbarDropdownExample-SceneSelector.cs}
```

The following example demonstrates a simple selector dropdown.

```csharp
using UnityEditor;
using UnityEditor.Toolbars;
using UnityEngine;

public class MainToolbarDropdownExample
{
    const string kElementPath = "Examples/Example Dropdown";

    static string selectedItem = "Item 1";

    [MainToolbarElement(kElementPath, defaultDockPosition = MainToolbarDockPosition.Middle)]
    public static MainToolbarElement CreateExampleDropdown()
    {
        var content = new MainToolbarContent(selectedItem);
        return new MainToolbarDropdown(content, ShowDropdownMenu);
    }

    static void ShowDropdownMenu(Rect dropDownRect)
    {
        var menu = new GenericMenu();
        menu.AddItem(new GUIContent("Item 1"), false, () =>
        {
            selectedItem = "Item 1";
            MainToolbar.Refresh(kElementPath);
        });
        menu.AddItem(new GUIContent("Item 2"), false, () =>
        {
            selectedItem = "Item 2";
            MainToolbar.Refresh(kElementPath);
        });
        menu.AddItem(new GUIContent("Item 3"), false, () =>
        {
            selectedItem = "Item 3";
            MainToolbar.Refresh(kElementPath);
        });
        menu.DropDown(dropDownRect);
    }
}
```

## Constructors

| Constructor                                                                                                                                                                       | Description                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [MainToolbarDropdown(UnityEditor.Toolbars.MainToolbarContent,System.Action\{UnityEngine.Rect})](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbardropdown/ctor.md) | Specify the content and function of a main toolbar dropdown. |

## Inheritance

**Inherited Members:**

* [MainToolbarElement.content](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbarelement/content.md)
* [MainToolbarElement.displayed](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbarelement/displayed.md)
* [MainToolbarElement.enabled](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbarelement/enabled.md)
* [MainToolbarElement.populateContextMenu](/engine/6000.7/script-reference/unityeditor/toolbars/maintoolbarelement/populatecontextmenu.md)
