# FocusEventBase<T>

> Base class for focus related events.

## Definition

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

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

## Remarks

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

## Properties

| Property                                                                                                     | Description                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| [direction](/engine/6000.5/script-reference/unityengine/uielements/focuseventbase1/direction.md)             | See [\_direction](/engine/6000.5/script-reference/unityengine/uielements/ifocusevent/direction.md).                                               |
| [focusController](/engine/6000.5/script-reference/unityengine/uielements/focuseventbase1/focuscontroller.md) | The focus controller that emitted the event.                                                                                                      |
| [relatedTarget](/engine/6000.5/script-reference/unityengine/uielements/focuseventbase1/relatedtarget.md)     | For FocusOut and Blur events, contains the element that gains the focus. For FocusIn and Focus events, contains the element that loses the focus. |

## Methods

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

## Static Methods

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