I have only very vague and shallow understanding of it. in docs it states its ideal for high-frequency state changes.
As far as I understand there to little to none of a performance impact of this vs simple bool flag, BUT it have nice query support where disabled component is ignored by query ootb.
Also it does not trigger structural changes. So effectively it can change query results without structural changes. So I wonder how good of an impact it have than?
If any one already know and/or have their conclusion it would save me a bit of time trying to profile it 👉👈.
Case for now that I want to try out is having entities entering a state of "Hungry" and instead of attaching, removing component data related to it or keep it on but have additional check in systems, they would just have EnablableHungerComponentData (temp working name).
So the thing is that I plan to have large number of entities that can enter this state, but on its self it not like very frequent... and also its unlikely for many entities to enter it at exactly same frame so it does not seems to be fit for batching. each entity might get hungry after some interval but in reality we can satisfy hunger of one entity at a time... of course there might be situation where 2 entities eat two different pieces of feed at same moment but it will be even more unlikely once there is actually lots of entities because there will be only one source of feed and its spawn rate will be limited by player input.
So I am not sure what frequency is considered high-frequency, I think? in context of dots I feel like they would mean a REALLY HIGH-frequency and in my case it might not have an impact?
Since I am at it... how does it work with Aspects? just wonder... might just try it and figure it out...