# Focusable

> Base class for objects that can get the focus.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.UIElements](/engine/6000.0/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Inherits from:** [CallbackEventHandler](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler.md)
* **Implements:** [IEventHandler](/engine/6000.0/script-reference/unityengine/uielements/ieventhandler.md)

```csharp
public abstract class Focusable : CallbackEventHandler, IEventHandler
```

## Remarks

The focus is used to designate an element that will receive keyboard events.

## Properties

| Property                                                                                               | Description                                                                                  |
| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| [canGrabFocus](/engine/6000.0/script-reference/unityengine/uielements/focusable/cangrabfocus.md)       | Return true if the element can be focused.                                                   |
| [delegatesFocus](/engine/6000.0/script-reference/unityengine/uielements/focusable/delegatesfocus.md)   | Whether the element should delegate the focus to its children.                               |
| [focusable](/engine/6000.0/script-reference/unityengine/uielements/focusable/focusable.md)             | True if the element can be focused.                                                          |
| [focusController](/engine/6000.0/script-reference/unityengine/uielements/focusable/focuscontroller.md) | Return the focus controller for this element.                                                |
| [tabIndex](/engine/6000.0/script-reference/unityengine/uielements/focusable/tabindex.md)               | An integer used to sort focusables in the focus ring. Must be greater than or equal to zero. |

## Methods

| Method                                                                             | Description                                |
| ---------------------------------------------------------------------------------- | ------------------------------------------ |
| [Blur](/engine/6000.0/script-reference/unityengine/uielements/focusable/blur.md)   | Tell the element to release the focus.     |
| [Focus](/engine/6000.0/script-reference/unityengine/uielements/focusable/focus.md) | Attempt to give the focus to this element. |

## Inheritance

**Inherited Members:**

* [CallbackEventHandler.RegisterCallback\<T>(EventCallback\<T>, TrickleDown)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
* [CallbackEventHandler.RegisterCallbackOnce\<T>(EventCallback\<T>, TrickleDown)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/registercallbackonce.md)
* [CallbackEventHandler.RegisterCallback\<T, U>(EventCallback\<T, T>, T, TrickleDown)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/registercallback.md)
* [CallbackEventHandler.RegisterCallbackOnce\<T, U>(EventCallback\<T, T>, T, TrickleDown)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/registercallbackonce.md)
* [CallbackEventHandler.UnregisterCallback\<T>(EventCallback\<T>, TrickleDown)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/unregistercallback.md)
* [CallbackEventHandler.UnregisterCallback\<T, U>(EventCallback\<T, T>, TrickleDown)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/unregistercallback.md)
* [CallbackEventHandler.SendEvent(EventBase)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/sendevent.md)
* [CallbackEventHandler.HasTrickleDownHandlers()](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/hastrickledownhandlers.md)
* [CallbackEventHandler.HasBubbleUpHandlers()](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/hasbubbleuphandlers.md)
* [CallbackEventHandler.HandleEventBubbleUp(EventBase)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/handleeventbubbleup.md)
* [CallbackEventHandler.HandleEventTrickleDown(EventBase)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/handleeventtrickledown.md)
* [CallbackEventHandler.NotifyPropertyChanged(BindingId)](/engine/6000.0/script-reference/unityengine/uielements/callbackeventhandler/notifypropertychanged.md)
