docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class SystemAPI

    Giving quick and consistent access to buffers, components, time, enumeration, singletons and more. This includes any IAspect, IJobEntity, SystemBase, and ISystem. Suggested usage is:

      using static Unity.Entities.SystemAPI;
      [...]
      partial struct SomeJob : IJobEntity { void Execute(ref EcsTestData e1) => e1.value += Time.deltaTime; }
    
    Inheritance
    object
    SystemAPI
    Namespace: Unity.Entities
    Assembly: Unity.Entities.dll
    Syntax
    public static class SystemAPI

    Properties

    Name Description
    Time

    The current Time data for calling system's world.

    Methods

    Name Description
    Exists(Entity)

    Checks if the entity exists inside this system's EntityManager.

    GetAspect<T>(Entity)

    Look up an aspect for an entity.

    GetBufferLookup<T>(bool)

    Gets a BufferLookup<T> object that can access a DynamicBuffer<T>.

    GetBufferTypeHandle<T>(bool)

    Gets the run-time type information required to access an array of buffer components in a chunk.

    GetBuffer<T>(Entity)

    Gets the dynamic buffer of an entity.

    GetComponentLookup<T>(bool)

    Gets a dictionary-like container containing all components of type T, keyed by Entity.

    GetComponentRO<T>(Entity)

    Gets a reference to a component for an entity, for read-only access.

    GetComponentRW<T>(Entity)

    Gets a reference to a component for an entity, for read/write access.

    GetComponentRW<T>(SystemHandle)

    Gets a reference to a component for an entity associated with a system, for read/write access.

    GetComponentTypeHandle<T>(bool)

    Gets the run-time type information required to access an array of component data in a chunk.

    GetComponent<T>(Entity)

    Look up the value of a component for an entity.

    GetComponent<T>(SystemHandle)

    Gets the value of a component for an entity associated with a system.

    GetEntityStorageInfoLookup()

    Gets a EntityStorageInfoLookup object that can access a EntityStorageInfo.

    GetEntityTypeHandle()

    Gets the run-time type information required to access the array of Entity objects in a chunk.

    GetSharedComponentTypeHandle<T>()

    Gets the run-time type information required to access a shared component data in a chunk.

    GetSingletonBuffer<T>(bool)

    Gets the value of a singleton buffer component.

    GetSingletonEntity<T>()

    Gets the Entity instance for a singleton.

    GetSingletonRW<T>()

    Gets a reference to the singleton component, for read/write access.

    GetSingleton<T>()

    Gets the value of a singleton component.

    HasBuffer<T>(Entity)

    Checks whether an entity has a dynamic buffer of a specific IBufferElementData type.

    HasComponent<T>(Entity)

    Checks whether an entity has a specific type of component.

    HasComponent<T>(SystemHandle)

    Checks whether an entity associated with a system has a specific type of component.

    HasSingleton<T>()

    Checks whether a singleton component of the specified type exists.

    IsBufferEnabled<T>(Entity)

    Checks whether the IBufferElementData of type T is enabled on the specified Entity. For the purposes of EntityQuery matching, an entity with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

    IsComponentEnabled<T>(Entity)

    Checks whether the IComponentData of type T is enabled on the specified Entity. For the purposes of EntityQuery matching, an entity with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

    IsComponentEnabled<T>(SystemHandle)

    Checks whether the IComponentData of type T is enabled on the specified system using a SystemHandle. For the purposes of EntityQuery matching, a system with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

    QueryBuilder()

    Gives a fluent API for constructing EntityQuerys similar to the EntityQueryBuilder. This API statically constructs the query as part of the system, and creates the query in the system's OnCreate. Calling this method should allow the construction of EntityQueries with almost no run-time performance overhead."

    Query<T1>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    Query<T1, T2>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    Query<T1, T2, T3>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    Query<T1, T2, T3, T4>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    Query<T1, T2, T3, T4, T5>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    Query<T1, T2, T3, T4, T5, T6>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    Query<T1, T2, T3, T4, T5, T6, T7>()

    Get Enumerable for iterating through Aspect, and Component types from inside a system

    SetBufferEnabled<T>(Entity, bool)

    Enable or disable the IBufferElementData of type T on the specified Entity. This operation does not cause a structural change (even if it occurs on a worker thread), or affect the value of the component. For the purposes of EntityQuery matching, an entity with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

    SetComponentEnabled<T>(Entity, bool)

    Enable or disable the IComponentData of type T on the specified Entity. This operation does not cause a structural change (even if it occurs on a worker thread), or affect the value of the component. For the purposes of EntityQuery matching, an entity with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

    SetComponentEnabled<T>(SystemHandle, bool)

    Enable or disable the IComponentData of type T on the specified system using a SystemHandle. This operation does not cause a structural change (even if it occurs on a worker thread), or affect the value of the component. For the purposes of EntityQuery matching, a system with a disabled component will behave as if it does not have that component. The type T must implement the IEnableableComponent interface.

    SetComponent<T>(Entity, T)

    Sets the value of a component of an entity.

    SetComponent<T>(SystemHandle, T)

    Sets the value of a component of an entity associated with a system.

    SetSingleton<T>(T)

    Sets the value of a singleton component.

    TryGetSingletonBuffer<T>(out DynamicBuffer<T>, bool)

    Gets the value of a singleton buffer component, and returns whether or not a singleton buffer component of the specified type exists in the World.

    TryGetSingletonEntity<T>(out Entity)

    Gets the singleton Entity, and returns whether or not a singleton Entity of the specified type exists in the World.

    TryGetSingletonRW<T>(out RefRW<T>)

    Gets the value of a singleton component, and returns whether or not a singleton component of the specified type exists in the World.

    TryGetSingleton<T>(out T)

    Gets the value of a singleton component, and returns whether or not a singleton component of the specified type exists in the World.


    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Properties
    • Methods
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)