# SystemAPIQueryBuilder

> Supports construction of queries matching one or multiple archetypes inside ISystem and SystemBase types. All queried components must be known at compile-time.

## Definition

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

```csharp
public struct SystemAPIQueryBuilder
```

## Methods

| Method                                                                                                                             | Description                                                                                                                          |
| ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| [AddAdditionalQuery](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/addadditionalquery.md)                   | Finalize the existing query description. All `.WithXXX()` invocations chained after this method will create a new query description. |
| [Build](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/build.md)                                             | Get or create an `EntityQuery` matching the query description(s).                                                                    |
| [WithAbsent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withabsent.md)                                   | Specify all read-only component types that must NOT be present.                                                                      |
| [WithAbsentChunkComponent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withabsentchunkcomponent.md)       | Add an absent Chunk Component type to the query.                                                                                     |
| [WithAll](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withall.md)                                         | Specify all read-only component types that must be present and enabled on matching entities.                                         |
| [WithAllChunkComponent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withallchunkcomponent.md)             | Add a required Chunk Component type to the query, which must be enabled.                                                             |
| [WithAllChunkComponentRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withallchunkcomponentrw.md)         | Add a required Chunk Component type to the query, which must be enabled.                                                             |
| [WithAllRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withallrw.md)                                     | Specify all read-write component types that must be present and enabled on matching entities.                                        |
| [WithAny](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withany.md)                                         | Specify optional read-only component types that must be present.                                                                     |
| [WithAnyChunkComponent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withanychunkcomponent.md)             | Add an optional Chunk Component type to the query.                                                                                   |
| [WithAnyChunkComponentRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withanychunkcomponentrw.md)         | Add an optional Chunk Component type to the query.                                                                                   |
| [WithAnyRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withanyrw.md)                                     | Specify optional read-write component types that must be present.                                                                    |
| [WithDisabled](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withdisabled.md)                               | Specify all read-only DISABLED component types that must be present.                                                                 |
| [WithDisabledRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withdisabledrw.md)                           | Specify all DISABLED component types (with write access) that must be present.                                                       |
| [WithNone](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withnone.md)                                       | Specify component types that must NOT be present.                                                                                    |
| [WithNoneChunkComponent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withnonechunkcomponent.md)           | Add an excluded Chunk Component type to the query.                                                                                   |
| [WithOptions](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withoptions.md)                                 | Specify your own `EntityQueryOptions`.                                                                                               |
| [WithPresent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withpresent.md)                                 | Specify all read-only component types that must be present, whether or not they are enabled on matching entities.                    |
| [WithPresentChunkComponent](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withpresentchunkcomponent.md)     | Add a required Chunk Component type to the query, whether or not it is enabled.                                                      |
| [WithPresentChunkComponentRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withpresentchunkcomponentrw.md) | Add a required Chunk Component type to the query, whether or not it is enabled.                                                      |
| [WithPresentRW](/engine/7000.0/script-reference/unity/entities/systemapiquerybuilder/withpresentrw.md)                             | Specify all read-write component types that must be present, whether or not they are enabled on matching entities.                   |
