# IEnableableComponent

> An interface for a component type which allows the component to be enabled and disabled at runtime without a structural change.

## Definition

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

```csharp
public interface IEnableableComponent
```

## Remarks

This interface is only valid when used in combination with [IBufferElementData](/engine/7000.0/script-reference/unity/entities/ibufferelementdata.md) or [IComponentData](/engine/7000.0/script-reference/unity/entities/icomponentdata.md). While the extra overhead involved in processing enableable components is generally quite low, this interface should only be used on components that will actually be enabled/disabled by the application at relatively high frequency.

Additional Resources: [EntityManager.SetComponentEnabled](/engine/7000.0/script-reference/unity/entities/entitymanager/setcomponentenabled.md), [EntityManager.IsComponentEnabled](/engine/7000.0/script-reference/unity/entities/entitymanager/iscomponentenabled.md), [ComponentLookup\<T>.SetComponentEnabled](/engine/7000.0/script-reference/unity/entities/componentlookup1/setcomponentenabled.md), [ComponentLookup\<T>.IsComponentEnabled](/engine/7000.0/script-reference/unity/entities/componentlookup1/iscomponentenabled.md), [BufferLookup\<T>.SetBufferEnabled](/engine/7000.0/script-reference/unity/entities/bufferlookup1/setbufferenabled.md), [BufferLookup\<T>.IsBufferEnabled](/engine/7000.0/script-reference/unity/entities/bufferlookup1/isbufferenabled.md), [ArchetypeChunk.SetComponentEnabled](/engine/7000.0/script-reference/unity/entities/archetypechunk/setcomponentenabled.md), [ArchetypeChunk.IsComponentEnabled](/engine/7000.0/script-reference/unity/entities/archetypechunk/iscomponentenabled.md)
