Class EntityQueryDesc
Describes a query used to find archetypes with specific components.
Namespace: Unity.Entities
Syntax
public class EntityQueryDesc
Remarks
A query description combines components in the All, Any, and None sets according to the following rules:
- All - Includes archetypes that have every component in this set
 - Any - Includes archetypes that have at least one component in this set
 - None - Excludes archetypes that have any component in this set
 
For example, given entities with the following components:
- Player has components: Position, Rotation, Player
 - Enemy1 has components: Position, Rotation, Melee
 - Enemy2 has components: Position, Rotation, Ranger
 
The query description below gives you all of the archetypes that: have any of [Melee or Ranger], AND have none of [Player], AND have all of [Position and Rotation]
new EntityQueryDesc {
    Any = new ComponentType[] {typeof(Melee), typeof(Ranger)},
    None = new ComponentType[] {typeof(Player)},
    All = new ComponentType[] {typeof(Position), typeof(Rotation)}
}
In other words, the query description selects the Enemy1 and Enemy2 entities, but not the Player entity.
Use an EntityQueryDesc object to create an EntityQuery object. In a system, call GetEntityQuery(EntityQueryDesc[]); otherwise, call CreateEntityQuery(EntityQueryDesc[]).
Fields
All
Include archetypes that contain all of the
components in the All list.
Declaration
public ComponentType[] All
Field Value
| Type | Description | 
|---|---|
| ComponentType[] | 
Any
Include archetypes that contain at least one (but possibly more) of the
components in the Any list.
Declaration
public ComponentType[] Any
Field Value
| Type | Description | 
|---|---|
| ComponentType[] | 
None
Exclude archetypes that contain any of the
components in the None list.
Declaration
public ComponentType[] None
Field Value
| Type | Description | 
|---|---|
| ComponentType[] | 
Options
Specialized options for the query.
Declaration
public EntityQueryOptions Options
Field Value
| Type | Description | 
|---|---|
| EntityQueryOptions | 
Remarks
You should not need to set these options for most queries.
Options is a bit mask; use the bitwise OR operator to combine multiple options.
Methods
Validate()
Declaration
[Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")]
public void Validate()