wave6-with-disabled-query-filter

Query Unity DOTS entities by IEnableableComponent disabled state with WithDisabled<T>().

6|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave6-with-disabled-query-filter
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wave6-with-disabled-query-filter
Source: https://github.com/dyCuong03/unity-agent-team/tree/main/.claude/skills/unity-dots/wave6-with-disabled-query-filter
Command: npx skills add https://github.com/dyCuong03/unity-agent-team --skill wave6-with-disabled-query-filter

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you write Unity DOTS queries that target entities where an IEnableableComponent is present but currently disabled, so systems can process inactive populations separately and correctly.

Core Features & Use Cases

  • Disabled-only querying: Use WithDisabled<T>() to match entities that have the component structurally present but with the enable bit turned off.
  • Correct separation of active vs inactive logic: Pair WithAll<T>() (enabled) with WithDisabled<T>() (disabled) to implement clean two-system behavior.
  • Avoid semantic mistakes: Distinguish WithDisabled<T>() from WithNone<T>() and from WithAll<T>() expectations for enableable components.

Example use case: In a ball-carry gameplay loop, one system picks up available balls by querying disabled Carry state, while another system handles balls currently being carried using enabled queries.

Quick Start

Use wave6-with-disabled-query-filter to build a query that selects entities with Ball present where Carry is disabled, enabling your pickup system to process only inactive balls.

Frequently Asked Questions about wave6-with-disabled-query-filter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query disabled IEnableableComponent entities in Unity DOTS?

Use the WithDisabled<T>() query filter to match entities where an IEnableableComponent is structurally present but currently disabled. This correctly separates active and inactive populations across your DOTS systems.

What is the difference between WithDisabled and WithNone for Unity ECS components?

WithDisabled<T>() matches entities structurally holding the component with the enable bit off, while WithNone<T>() excludes entities having the component at all. WithDisabled correctly filters inactive IEnableableComponent populations.

How to separate active and inactive entity logic in Unity DOTS gameplay systems?

Pair WithAll<T>() queries to process enabled entities with WithDisabled<T>() queries to handle disabled entities. This separates active and inactive gameplay logic across different Unity DOTS systems cleanly.

Does WithDisabled query filter work for gameplay simulation pipelines in Unity ECS?

Yes, WithDisabled<T>() applies directly to Unity DOTS gameplay and simulation pipelines requiring separate handling of active and inactive populations. It filters chunk-level disabled enableable components across systems and phases.

Why is my Unity DOTS WithDisabled query not matching inactive entities?

WithDisabled<T>() requires the target enableable component to be structurally present on the entity. If the component is entirely absent, chunk-level filtering cannot iterate disabled instances, causing your query to fail matching inactive entities.