# AddBuffer<T>(Entity)

> Adds a dynamic buffer component to an entity.

## Definition

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

```csharp
public DynamicBuffer<T> AddBuffer<T>(Entity entity) where T : unmanaged, IBufferElementData
```

### Parameters

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

### Returns

| Type                                                                                  | Description |
| ------------------------------------------------------------------------------------- | ----------- |
| [DynamicBuffer\<T>](/engine/7000.0/script-reference/unity/entities/dynamicbuffer1.md) | The buffer. |

### Remarks

A buffer component stores the number of elements inside the chunk defined by the \[InternalBufferCapacity] attribute applied to the buffer element type declaration. Any additional elements are stored in a separate memory block that is managed by the EntityManager.

Adding a component changes an entity's archetype and results in the entity being moved to a different chunk.

(You can add a buffer component with the regular AddComponent methods, but unlike those methods, this method conveniently also returns the new buffer.)

**Important:** This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before adding the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.

Additional Resources: [InternalBufferCapacityAttribute](/engine/7000.0/script-reference/unity/entities/internalbuffercapacityattribute.md)
