# GetComponentTypeHandle<T>(bool)

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

## Definition

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

```csharp
public ComponentTypeHandle<T> GetComponentTypeHandle<T>(bool isReadOnly = false) where T : unmanaged, IComponentData
```

### Parameters

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

### Returns

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

### Remarks

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

Pass an [ComponentTypeHandle\<T>](/engine/7000.0/script-reference/unity/entities/componenttypehandle1.md) 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 component inside the job.

Prefer using [SystemAPI.GetComponentTypeHandle](/engine/7000.0/script-reference/unity/entities/systemapi/getcomponenttypehandle.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.
