Enableable components introduction
You can use enableable components on IComponent
Enableable components are ideal for states that you expect to change often and unpredictably, or where the number of state permutations are high on a frame-by-frame basis. Adding and removing components is the preferable way to manage components for low-frequency state changes, where you expect the state to persist for many frames. You can use enableable components to avoid structural changes in some situations. For more information, refer to Manage structural changes with enableable components.
You can also use enableable components instead of a set of zero-size tag components to represent entity states. This reduces the number of unique entity archetypes, and encourages better chunk usage to reduce memory consumption.