# Get

> Get an instance from the pool. If the pool is empty then a new instance will be created.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.Pool](/engine/6000.5/script-reference/unityengine/pool.md)
* **Assembly:** UnityEngine.CoreModule

## Get()

Get an instance from the pool. If the pool is empty then a new instance will be created.

```csharp
public static T Get()
```

### Returns

| Type | Description                                             |
| ---- | ------------------------------------------------------- |
| T    | A pooled object or a new instance if the pool is empty. |

## Get(T)

Returns a PooledObject that will automatically return the instance to the pool when it is disposed.

```csharp
public static PooledObject<T> Get(out T value)
```

### Parameters

**** (T): Out parameter that will contain a reference to an instance from the pool.

### Returns

| Type                                                                                  | Description                                                                                      |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| [PooledObject\<T>](/engine/6000.5/script-reference/unityengine/pool/pooledobject1.md) | A PooledObject that will return the instance back to the pool when its Dispose method is called. |
