# ShortcutAttribute

> Creates an attribute for an action shortcut with an ID, optional context, and optional default binding.

## Definition

* **Type:** Constructor
* **Namespace:** [UnityEditor.ShortcutManagement](/engine/6000.3/script-reference/unityeditor/shortcutmanagement.md)
* **Assembly:** UnityEditor

## ShortcutAttribute(string, Type)

Creates an attribute for an *action shortcut* with an ID, optional context, and optional default binding.

```csharp
public ShortcutAttribute(string id, Type context = null)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Shortcut ID.**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): Optional shortcut context type.

### Remarks

An action shortcut is triggered when the binding for the shortcut is pressed down. The method on which this attribute is placed must either take no arguments or a single argument of type [ShortcutArguments](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutarguments.md).

You can bind a [ClutchShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/clutchshortcutattribute.md) and a [ShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutattribute.md) to the same mouse button. In this case, the action shortcut triggers when the mouse button is released.

The ID is used to display the shortcut in the configuration interface unless the optional displayName property is set. Use a forward slash group multiple shortcuts together in the configuration interface, e.g. "MyWindow/Shortcut1" and "MyWindow/Shortcut2".

## ShortcutAttribute(string, Type, KeyCode, ShortcutModifiers)

Creates an attribute for an *action shortcut* with an ID, optional context, and optional default binding.

```csharp
public ShortcutAttribute(string id, Type context, KeyCode defaultKeyCode, ShortcutModifiers defaultShortcutModifiers = ShortcutModifiers.None)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Shortcut ID.**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): Optional shortcut context type.**** (\[KeyCode]\(/engine/6000.3/script-reference/unityengine/keycode)): Optional key code for default binding.**** (\[ShortcutModifiers]\(/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutmodifiers)): Optional shortcut modifiers for default binding.

### Remarks

An action shortcut is triggered when the binding for the shortcut is pressed down. The method on which this attribute is placed must either take no arguments or a single argument of type [ShortcutArguments](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutarguments.md).

You can bind a [ClutchShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/clutchshortcutattribute.md) and a [ShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutattribute.md) to the same mouse button. In this case, the action shortcut triggers when the mouse button is released.

The ID is used to display the shortcut in the configuration interface unless the optional displayName property is set. Use a forward slash group multiple shortcuts together in the configuration interface, e.g. "MyWindow/Shortcut1" and "MyWindow/Shortcut2".

## ShortcutAttribute(string, Type, string, KeyCode, ShortcutModifiers)

Creates an attribute for an *action shortcut* with an ID, optional context, and optional default binding.

```csharp
public ShortcutAttribute(string id, Type context, string tag, KeyCode defaultKeyCode, ShortcutModifiers defaultShortcutModifiers = ShortcutModifiers.None)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Shortcut ID.**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): Optional shortcut context type.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Optional custom context used to filter shortcuts after window context is determined.**** (\[KeyCode]\(/engine/6000.3/script-reference/unityengine/keycode)): Optional key code for default binding.**** (\[ShortcutModifiers]\(/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutmodifiers)): Optional shortcut modifiers for default binding.

### Remarks

An action shortcut is triggered when the binding for the shortcut is pressed down. The method on which this attribute is placed must either take no arguments or a single argument of type [ShortcutArguments](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutarguments.md).

You can bind a [ClutchShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/clutchshortcutattribute.md) and a [ShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutattribute.md) to the same mouse button. In this case, the action shortcut triggers when the mouse button is released.

The ID is used to display the shortcut in the configuration interface unless the optional displayName property is set. Use a forward slash group multiple shortcuts together in the configuration interface, e.g. "MyWindow/Shortcut1" and "MyWindow/Shortcut2".

## ShortcutAttribute(string, Type, string, KeyCode, ShortcutModifiers, int)

Creates an attribute for an *action shortcut* with an ID, optional context, and optional default binding.

```csharp
public ShortcutAttribute(string id, Type context, string tag, KeyCode defaultKeyCode, ShortcutModifiers defaultShortcutModifiers, int priority)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Shortcut ID.**** (\[Type]\(https\://learn.microsoft.com/dotnet/api/system.type)): Optional shortcut context type.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Optional custom context used to filter shortcuts after window context is determined.**** (\[KeyCode]\(/engine/6000.3/script-reference/unityengine/keycode)): Optional key code for default binding.**** (\[ShortcutModifiers]\(/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutmodifiers)): Optional shortcut modifiers for default binding.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Optional priority for adjusting order position in Helper Bar.

### Remarks

An action shortcut is triggered when the binding for the shortcut is pressed down. The method on which this attribute is placed must either take no arguments or a single argument of type [ShortcutArguments](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutarguments.md).

You can bind a [ClutchShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/clutchshortcutattribute.md) and a [ShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutattribute.md) to the same mouse button. In this case, the action shortcut triggers when the mouse button is released.

The ID is used to display the shortcut in the configuration interface unless the optional displayName property is set. Use a forward slash group multiple shortcuts together in the configuration interface, e.g. "MyWindow/Shortcut1" and "MyWindow/Shortcut2".

## ShortcutAttribute(string, KeyCode, ShortcutModifiers)

Creates an attribute for an *action shortcut* with an ID, optional context, and optional default binding.

```csharp
public ShortcutAttribute(string id, KeyCode defaultKeyCode, ShortcutModifiers defaultShortcutModifiers = ShortcutModifiers.None)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Shortcut ID.**** (\[KeyCode]\(/engine/6000.3/script-reference/unityengine/keycode)): Optional key code for default binding.**** (\[ShortcutModifiers]\(/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutmodifiers)): Optional shortcut modifiers for default binding.

### Remarks

An action shortcut is triggered when the binding for the shortcut is pressed down. The method on which this attribute is placed must either take no arguments or a single argument of type [ShortcutArguments](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutarguments.md).

You can bind a [ClutchShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/clutchshortcutattribute.md) and a [ShortcutAttribute](/engine/6000.3/script-reference/unityeditor/shortcutmanagement/shortcutattribute.md) to the same mouse button. In this case, the action shortcut triggers when the mouse button is released.

The ID is used to display the shortcut in the configuration interface unless the optional displayName property is set. Use a forward slash group multiple shortcuts together in the configuration interface, e.g. "MyWindow/Shortcut1" and "MyWindow/Shortcut2".
