# MouseDownEvent

> This event is sent when a mouse button is pressed.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.0/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [MouseEventBase\<MouseDownEvent>](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1.md)
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable), [IMouseEvent](/engine/6000.0/script-reference/unityengine/uielements/imouseevent.md)

```csharp
public class MouseDownEvent : MouseEventBase<MouseDownEvent>, IDisposable, IMouseEvent
```

## Remarks

The mouse down event is sent to a visual element when a mouse button is pressed inside the element. A MouseDownEvent uses the default mouse event propagation path: it trickles down, bubbles up and can be cancelled. Disabled elements won't receive this event by default.

## Constructors

| Constructor                                                                                       | Description                                                                                                                           |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [MouseDownEvent()](/engine/6000.0/script-reference/unityengine/uielements/mousedownevent/ctor.md) | Constructor. Avoid creating new event instances. Instead, use GetPooled() to get an instance from a pool of reusable event instances. |

## Methods

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

## Static Methods

| Method                                                                                          | Description                                                                                                                                                                                                                                    |
| ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetPooled](/engine/6000.0/script-reference/unityengine/uielements/mousedownevent/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:**

* MouseEventBase\<MouseDownEvent>.PreDispatch(IPanel)
* MouseEventBase\<MouseDownEvent>.PostDispatch(IPanel)
* [MouseEventBase\<MouseDownEvent>.GetPooled(Vector2, int, int, Vector2, EventModifiers)](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<MouseDownEvent>.GetPooled(IMouseEvent)](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<MouseDownEvent>.GetPooled(IPointerEvent)](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/getpooled.md)
* [MouseEventBase\<MouseDownEvent>.modifiers](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/modifiers.md)
* [MouseEventBase\<MouseDownEvent>.mousePosition](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/mouseposition.md)
* [MouseEventBase\<MouseDownEvent>.localMousePosition](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/localmouseposition.md)
* [MouseEventBase\<MouseDownEvent>.mouseDelta](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/mousedelta.md)
* [MouseEventBase\<MouseDownEvent>.clickCount](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/clickcount.md)
* [MouseEventBase\<MouseDownEvent>.button](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/button.md)
* [MouseEventBase\<MouseDownEvent>.pressedButtons](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/pressedbuttons.md)
* [MouseEventBase\<MouseDownEvent>.shiftKey](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/shiftkey.md)
* [MouseEventBase\<MouseDownEvent>.ctrlKey](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/ctrlkey.md)
* [MouseEventBase\<MouseDownEvent>.commandKey](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/commandkey.md)
* [MouseEventBase\<MouseDownEvent>.altKey](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/altkey.md)
* [MouseEventBase\<MouseDownEvent>.actionKey](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/actionkey.md)
* [MouseEventBase\<MouseDownEvent>.currentTarget](/engine/6000.0/script-reference/unityengine/uielements/mouseeventbase1/currenttarget.md)
* [EventBase\<MouseDownEvent>.TypeId()](/engine/6000.0/script-reference/unityengine/uielements/eventbase1/typeid.md)
* [EventBase\<MouseDownEvent>.GetPooled()](/engine/6000.0/script-reference/unityengine/uielements/eventbase1/getpooled.md)
* [EventBase\<MouseDownEvent>.Dispose()](/engine/6000.0/script-reference/unityengine/uielements/eventbase1/dispose.md)
* [EventBase\<MouseDownEvent>.eventTypeId](/engine/6000.0/script-reference/unityengine/uielements/eventbase1/eventtypeid.md)
* [EventBase.RegisterEventType()](/engine/6000.0/script-reference/unityengine/uielements/eventbase/registereventtype.md)
* [EventBase.StopPropagation()](/engine/6000.0/script-reference/unityengine/uielements/eventbase/stoppropagation.md)
* [EventBase.StopImmediatePropagation()](/engine/6000.0/script-reference/unityengine/uielements/eventbase/stopimmediatepropagation.md)
* [EventBase.timestamp](/engine/6000.0/script-reference/unityengine/uielements/eventbase/timestamp.md)
* [EventBase.bubbles](/engine/6000.0/script-reference/unityengine/uielements/eventbase/bubbles.md)
* [EventBase.tricklesDown](/engine/6000.0/script-reference/unityengine/uielements/eventbase/tricklesdown.md)
* [EventBase.target](/engine/6000.0/script-reference/unityengine/uielements/eventbase/target.md)
* [EventBase.isPropagationStopped](/engine/6000.0/script-reference/unityengine/uielements/eventbase/ispropagationstopped.md)
* [EventBase.isImmediatePropagationStopped](/engine/6000.0/script-reference/unityengine/uielements/eventbase/isimmediatepropagationstopped.md)
* [EventBase.propagationPhase](/engine/6000.0/script-reference/unityengine/uielements/eventbase/propagationphase.md)
* [EventBase.dispatch](/engine/6000.0/script-reference/unityengine/uielements/eventbase/dispatch.md)
* [EventBase.imguiEvent](/engine/6000.0/script-reference/unityengine/uielements/eventbase/imguievent.md)
* [EventBase.originalMousePosition](/engine/6000.0/script-reference/unityengine/uielements/eventbase/originalmouseposition.md)
* [EventBase.pooled](/engine/6000.0/script-reference/unityengine/uielements/eventbase/pooled.md)
