# GetPooled

> Gets a keyboard 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.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule

## GetPooled(char, KeyCode, EventModifiers)

Gets a keyboard 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.

```csharp
public static T GetPooled(char c, KeyCode keyCode, EventModifiers modifiers)
```

### Parameters

**** (\[char]\(https\://learn.microsoft.com/dotnet/api/system.char)): The character for this event.**** (\[KeyCode]\(/engine/6000.7/script-reference/unityengine/keycode)): The key code for this event.**** (\[EventModifiers]\(/engine/6000.7/script-reference/unityengine/eventmodifiers)): Event modifier keys that are active for this event.

### Returns

| Type | Description           |
| ---- | --------------------- |
| T    | An initialized event. |

## GetPooled(Event)

Gets a keyboard 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.

```csharp
public static T GetPooled(Event systemEvent)
```

### Parameters

**** (\[Event]\(/engine/6000.7/script-reference/unityengine/event)): A keyboard IMGUI event.

### Returns

| Type | Description           |
| ---- | --------------------- |
| T    | An initialized event. |
