MenuItem
Inherits from System.Attribute
The MenuItem attribute allows you to add menu items to the main menu and inspector context menus.
Note: This is an editor class. To use it you have to place your script in Assets/Editor inside your project folder. Editor classes are in the UnityEditor namespace so for C# scripts you need to add "using UnityEditor;" at the beginning of the script.
The MenuItem attribute turns any static function into a menu command. Only static functions can use the MenuItem attribute.
To create a hotkey you can use the following special characters: % (ctrl on Windows, cmd on OS X), # (shift), & (alt), _ (no key modifiers).
For example to create a menu with hotkey shift-alt-g use "MyMenu/Do Something #&g". To create a menu with hotkey g and no key modifiers pressed use "MyMenu/Do Something _g".
A hotkey text must be preceded with a space character ("MyMenu/Do_g" won't be interpreted as hotkey, while "MyMenu/Do _g" will).
@MenuItem (
"MyMenu/Do Something")
static function DoSomething () {
Debug.Log (
"Doing Something...");
}
@MenuItem (
"MyMenu/Do Something only to a Selected Transform", true)
static function ValidateSelectedTransform () {
return Selection.activeTransform != null;
}
@MenuItem (
"MyMenu/Do Something with a Shortcut Key %g")
static function DoSomethingWithAShortcutKey () {
Debug.Log (
"Doing something with a Shortcut Key...");
}
@MenuItem (
"CONTEXT/Rigidbody/Do Something from a Rigidbody's Context Menu")
static function DoSomethingFromContext (command :
MenuCommand) {
var body :
Rigidbody = command.context;
body.mass = 5;
Debug.Log (
"Changed Rigidbody's Mass to " + body.mass +
" from Context Menu...");
}
using UnityEditor;
using UnityEngine;
public class MenuTest :
MonoBehaviour {
[MenuItem (
"MyMenu/Do Something")]
static void DoSomething () {
Debug.Log (
"Doing Something...");
}
[MenuItem (
"MyMenu/Do Something only to a Selected Transform", true)]
static bool ValidateSelectedTransform () {
return Selection.activeTransform != null;
}
[MenuItem (
"MyMenu/Do Something with a Shortcut Key %g")]
static void DoSomethingWithAShortcutKey () {
Debug.Log (
"Doing something with a Shortcut Key...");
}
[MenuItem (
"CONTEXT/Rigidbody/Do Something from a Rigidbody's Context Menu")]
static void DoSomethingFromContext (
MenuCommand command) {
Rigidbody body = (
Rigidbody)command.context;
body.mass = 5;
Debug.Log (
"Changed Rigidbody's Mass to " + body.mass +
" from Context Menu...");
}
}
Constructors
MenuItem |
Creates a menu item and invokes the static function following it, when the menu item is selected.
|