# HasBuffer<T>(Entity)

> Checks whether an entity has a dynamic buffer of a specific IBufferElementData type.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule

```csharp
public static bool HasBuffer<T>(Entity entity) where T : unmanaged, IBufferElementData
```

### Parameters

**** (\[Entity]\(/engine/7000.0/script-reference/unity/entities/entity)): The Entity object.

### Returns

| Type                                                          | Description                                      |
| ------------------------------------------------------------- | ------------------------------------------------ |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True, if the specified entity has the component. |

### Remarks

Always returns false for an entity that has been destroyed.

Use this method to check if another entity has a dynamic buffer of a given IBufferElementData type using its [Entity](/engine/7000.0/script-reference/unity/entities/entity.md) object.

When iterating over a set of entities with an idomatic foreach query, don't use this method to access the data of the current entity in the set. It's faster to change your query to avoid using optional components.

this method gets replaced with component access methods through [BufferLookup\<T>](/engine/7000.0/script-reference/unity/entities/bufferlookup1.md).

In both cases, this lookup method results in a slower, indirect memory access. When possible, organize your data to minimize the need for indirect lookups.

Not working in IJobEntity, and Utility methods
