It feels difficult to manage enablable components under moderately complicated scenarios.
- You have to make aspects or work manually to avoid errors regarding multiple identical types in queries if you want to have both a EnabledRef and Ref in the same one.
- If you wanted to ignore enabled state it seems WithNone will disregard it too, which means if you need WithNone you can't also include disabled components in your query.
- I encounter many places where I want to disable one tag and enable another in the same foreach, but you can't achieve it sensibly afaik without these ignore/include contradictions.
I'm sure the list goes on, but it's late and I'm just looking to get the question up before I sleep!
It feels like EntityQueryOptions.IgnoreComponentEnabledState is not granular enough, and you should be able to specify it per-component, or in some specific parts of the query.
It actually feels like there's a whole bunch of work that needs to be done to make it painless in general... I've only had a tough time, having to constantly refactor due to unexpected interactions or errors, none of which I feel are intuitive, though I understand the limitations when I encounter them.
Is this being felt internally, and are there things coming soon to improve the situation?