Class EntityQueryDesc | Entities | 0.10.0-preview.6
docs.unity3d.com
  • Manual
  • Scripting API
  • Changelog
  • License
    Show / Hide Table of Contents
    • Scripting API

    Class EntityQueryDesc

    Describes a query to find archetypes in terms of required, optional, and excluded components.

    Inheritance
    Object
    EntityQueryDesc
    Namespace: Unity.Entities
    Syntax
    public class EntityQueryDesc
    Remarks

    Define an EntityQueryDesc object to describe complex queries. Inside a system, pass an EntityQueryDesc object to GetEntityQuery(EntityQueryDesc[]) to create the EntityQuery. Outside a system, use CreateEntityQuery(EntityQueryDesc[]).

    A query description combines the component types you specify in 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 matches all of the archetypes that: have any of [Melee or Ranger], AND have none of [Player], AND have all of [Position and Rotation]

           EntityQueryDesc description = 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 created from this description selects the Enemy1 and Enemy2 entities, but not the Player entity.

    Fields

    All

    Include archetypes that contain all of the component types 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 component types in the Any list.

    Declaration
    public ComponentType[] Any
    Field Value
    Type Description
    ComponentType[]

    None

    Exclude archetypes that contain any of the component types in the None list.

    Declaration
    public ComponentType[] None
    Field Value
    Type Description
    ComponentType[]

    Options

    Specialized query options.

    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()
    In This Article
    • Fields
      • All
      • Any
      • None
      • Options
    • Methods
      • Validate()
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023