# IsComponentEnabled

> Checks whether the IComponentData of type T is enabled on the specified Entity. For the purposes of EntityQuery matching, an entity with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

## Definition

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

## IsComponentEnabled\<T>(Entity)

Checks whether the [IComponentData](/engine/7000.0/script-reference/unity/entities/icomponentdata.md) of type T is enabled on the specified [Entity](/engine/7000.0/script-reference/unity/entities/entity.md). For the purposes of EntityQuery matching, an entity with a disabled component will behave as if it does not have that component. The type T must implement the [IEnableableComponent](/engine/7000.0/script-reference/unity/entities/ienableablecomponent.md) interface.

```csharp
public static bool IsComponentEnabled<T>(Entity entity) where T : unmanaged, IComponentData, IEnableableComponent
```

### Parameters

**** (\[Entity]\(/engine/7000.0/script-reference/unity/entities/entity)): The entity whose component should be checked.

### Returns

| Type                                                          | Description                                                             |
| ------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the specified component is enabled, or false if it is disabled. |

### Remarks

Not working in Entities.ForEach, IJobEntity, and Utility methods

Additional Resources: [SystemAPI.SetComponentEnabled](/engine/7000.0/script-reference/unity/entities/systemapi/setcomponentenabled.md)

## IsComponentEnabled\<T>(SystemHandle)

Checks whether the [IComponentData](/engine/7000.0/script-reference/unity/entities/icomponentdata.md) of type T is enabled on the specified system using a [SystemHandle](/engine/7000.0/script-reference/unity/entities/systemhandle.md). For the purposes of EntityQuery matching, a system with a disabled component will behave as if it does not have that component. The type T must implement the [IEnableableComponent](/engine/7000.0/script-reference/unity/entities/ienableablecomponent.md) interface.

```csharp
public static bool IsComponentEnabled<T>(SystemHandle systemHandle) where T : unmanaged, IComponentData, IEnableableComponent
```

### Parameters

**** (\[SystemHandle]\(/engine/7000.0/script-reference/unity/entities/systemhandle)): The system whose component should be checked.

### Returns

| Type                                                          | Description                                                             |
| ------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) | True if the specified component is enabled, or false if it is disabled. |

### Remarks

Not working in Entities.ForEach, IJobEntity, and Utility methods

Additional Resources: [SystemAPI.SetComponentEnabled](/engine/7000.0/script-reference/unity/entities/systemapi/setcomponentenabled.md)
