# IComponentData

> This interface marks a struct as a component.

## Definition

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

```csharp
public interface IComponentData : IQueryTypeParameter
```

## Remarks

Only one `IComponentData` of a given type can be added to each entity. To associate multiple values of a given component type with an entity, use [IBufferElementData](/engine/7000.0/script-reference/unity/entities/ibufferelementdata.md).

For more information, see the documentation on components.
