# GetBufferTypeHandle<T>(bool)

> Manually gets the run-time type information required to access an array of buffer components in a chunk.

## Definition

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

```csharp
public BufferTypeHandle<T> GetBufferTypeHandle<T>(bool isReadOnly = false) where T : unmanaged, IBufferElementData
```

### Parameters

**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Whether the data is only read, not written. Access data as read-only whenever possible.

### Returns

| Type                                                                                        | Description                                                                                                |
| ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| [BufferTypeHandle\<T>](/engine/7000.0/script-reference/unity/entities/buffertypehandle1.md) | An object representing the type information required to safely access buffer components stored in a chunk. |

### Remarks

Remember to call [BufferTypeHandle\<T>.Update](/engine/7000.0/script-reference/unity/entities/buffertypehandle1/update.md).

Pass a BufferTypeHandle instance to a job that has access to chunk data, such as an [IJobChunk](/engine/7000.0/script-reference/unity/entities/ijobchunk.md) job, to access that type of buffer component inside the job.

Prefer using [SystemAPI.GetBufferTypeHandle](/engine/7000.0/script-reference/unity/entities/systemapi/getbuffertypehandle.md) in [SystemAPI](/engine/7000.0/script-reference/unity/entities/systemapi.md) as it will cache in OnCreate for you and call .Update(ref SystemState) at the call-site.
