# MenuCommand

> Used to extract the context for a MenuItem.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor](/engine/6000.6/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public sealed class MenuCommand
```

## Remarks

[MenuCommand](/engine/6000.6/script-reference/unityeditor/menucommand.md) objects are passed to custom menu item functions defined using the [MenuItem](/engine/6000.6/script-reference/unityeditor/menuitem.md) attribute.

**Note:** The menu is added to the object and is accessible by right-clicking in the inspector. The script code requires the CONTEXT option.

```csharp
// Add context menu named "Do Something" to context menu
using UnityEngine;
using UnityEditor;

public class Something : EditorWindow
{
    // Add menu item
    [MenuItem("CONTEXT/Rigidbody/Do Something")]
    static void DoSomething(MenuCommand command)
    {
        Rigidbody body = (Rigidbody)command.context;
        body.mass = 5;
        Debug.Log("Changed Rigidbody's Mass to " + body.mass + " from Context Menu...");
    }
}
```

Additional Resources: [MenuItem](/engine/6000.6/script-reference/unityeditor/menuitem.md).

## Fields

| Value                                                                           | Description                                                 |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| [context](/engine/6000.6/script-reference/unityeditor/menucommand/context.md)   | Context is the object that is the target of a menu command. |
| [userData](/engine/6000.6/script-reference/unityeditor/menucommand/userdata.md) | An integer for passing custom information to a menu item.   |

## Constructors

| Constructor                                                                                                                               | Description                       |
| ----------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |
| [MenuCommand(UnityEngine.Object)](/engine/6000.6/script-reference/unityeditor/menucommand/ctor.md#menucommand\(object\))                  | Creates a new MenuCommand object. |
| [MenuCommand(UnityEngine.Object,System.Int32)](/engine/6000.6/script-reference/unityeditor/menucommand/ctor.md#menucommand\(object-int\)) | Creates a new MenuCommand object. |
