# CommandEventBase<T>

> Base class for command events.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.6/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [EventBase\<T>](/engine/6000.6/script-reference/unityengine/uielements/eventbase1.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable), [ICommandEvent](/engine/6000.6/script-reference/unityengine/uielements/icommandevent.md)

```csharp
public abstract class CommandEventBase<T> : EventBase<T>, IDisposable, ICommandEvent where T : CommandEventBase<T>, new()
```

## Remarks

Command events are only available on Editor-type Panels.

Refer to the [Command events](/engine/6000.6/manual/uitoolkits/uielements/uie-events/reference/uie-command-events.md) manual page for more information and examples.

Additional Resources: [ValidateCommandEvent](/engine/6000.6/script-reference/unityengine/uielements/validatecommandevent.md), [ExecuteCommandEvent](/engine/6000.6/script-reference/unityengine/uielements/executecommandevent.md), [\_contextType](/engine/6000.6/script-reference/unityengine/uielements/ipanel/contexttype.md)

## Properties

| Property                                                                                               | Description                         |
| ------------------------------------------------------------------------------------------------------ | ----------------------------------- |
| [commandName](/engine/6000.6/script-reference/unityengine/uielements/commandeventbase1/commandname.md) | The command to validate or execute. |

## Methods

| Method                                                                                   | Description                                       |
| ---------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [Init](/engine/6000.6/script-reference/unityengine/uielements/commandeventbase1/init.md) | Resets the event members to their initial values. |

## Static Methods

| Method                                                                                             | Description                                                                                                                                                                                                                                    |
| -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetPooled](/engine/6000.6/script-reference/unityengine/uielements/commandeventbase1/getpooled.md) | Gets an event from the event pool and initializes it with the given values. Use this function instead of creating new events. Events obtained using this method need to be released back to the pool. You can use `Dispose()` to release them. |

## Inheritance

**Inherited Members:**

* [EventBase\<T>.SetCreateFunction(Func\<T>)](/engine/6000.6/script-reference/unityengine/uielements/eventbase1/setcreatefunction.md)
* [EventBase\<T>.TypeId()](/engine/6000.6/script-reference/unityengine/uielements/eventbase1/typeid.md)
* [EventBase\<T>.GetPooled()](/engine/6000.6/script-reference/unityengine/uielements/eventbase1/getpooled.md)
* [EventBase\<T>.Dispose()](/engine/6000.6/script-reference/unityengine/uielements/eventbase1/dispose.md)
* [EventBase\<T>.eventTypeId](/engine/6000.6/script-reference/unityengine/uielements/eventbase1/eventtypeid.md)
* [EventBase.RegisterEventType()](/engine/6000.6/script-reference/unityengine/uielements/eventbase/registereventtype.md)
* [EventBase.PreDispatch(IPanel)](/engine/6000.6/script-reference/unityengine/uielements/eventbase/predispatch.md#predispatch\(ipanel\))
* [EventBase.PostDispatch(IPanel)](/engine/6000.6/script-reference/unityengine/uielements/eventbase/postdispatch.md#postdispatch\(ipanel\))
* [EventBase.StopPropagation()](/engine/6000.6/script-reference/unityengine/uielements/eventbase/stoppropagation.md)
* [EventBase.StopImmediatePropagation()](/engine/6000.6/script-reference/unityengine/uielements/eventbase/stopimmediatepropagation.md)
* [EventBase.timestamp](/engine/6000.6/script-reference/unityengine/uielements/eventbase/timestamp.md)
* [EventBase.bubbles](/engine/6000.6/script-reference/unityengine/uielements/eventbase/bubbles.md)
* [EventBase.tricklesDown](/engine/6000.6/script-reference/unityengine/uielements/eventbase/tricklesdown.md)
* [EventBase.ignoreDisabledElements](/engine/6000.6/script-reference/unityengine/uielements/eventbase/ignoredisabledelements.md)
* [EventBase.target](/engine/6000.6/script-reference/unityengine/uielements/eventbase/target.md)
* [EventBase.isPropagationStopped](/engine/6000.6/script-reference/unityengine/uielements/eventbase/ispropagationstopped.md)
* [EventBase.isImmediatePropagationStopped](/engine/6000.6/script-reference/unityengine/uielements/eventbase/isimmediatepropagationstopped.md)
* [EventBase.propagationPhase](/engine/6000.6/script-reference/unityengine/uielements/eventbase/propagationphase.md)
* [EventBase.currentTarget](/engine/6000.6/script-reference/unityengine/uielements/eventbase/currenttarget.md)
* [EventBase.dispatch](/engine/6000.6/script-reference/unityengine/uielements/eventbase/dispatch.md)
* [EventBase.imguiEvent](/engine/6000.6/script-reference/unityengine/uielements/eventbase/imguievent.md)
* [EventBase.originalMousePosition](/engine/6000.6/script-reference/unityengine/uielements/eventbase/originalmouseposition.md)
* [EventBase.pooled](/engine/6000.6/script-reference/unityengine/uielements/eventbase/pooled.md)
