docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct SystemState

    Contains raw entity system state. Used by unmanaged systems (ISystem) as well as managed systems behind the scenes.

    Namespace: Unity.Entities
    Assembly: Unity.Entities.dll
    Syntax
    [GenerateTestsForBurstCompatibility]
    public ref struct SystemState

    Properties

    Name Description
    DebugName

    Return a debug name for unmanaged systems.

    Dependency

    The ECS-related data dependencies of the system.

    Enabled

    Controls whether this system executes when its OnUpdate function is called.

    EntityManager

    The EntityManager object of the World in which this system exists.

    GlobalSystemVersion

    The current change version number in this World.

    LastSystemVersion

    The current version of this system.

    SystemHandle

    The untyped system's handle.

    SystemHandleUntyped

    Obsolete. Use SystemHandle instead.

    Time

    Obsolete. The current Time data for this system's world.

    UnmanagedMetaIndex

    Return the unmanaged type index of the system (>= 0 for ISystem-type systems), or -1 for managed systems.

    World

    The World in which this system exists.

    WorldUnmanaged

    The unmanaged portion of the world in which this system exists.

    WorldUpdateAllocator

    Retrieve the world update allocator of the World in which this system exists.

    Methods

    Name Description
    CompleteDependency()

    Completes combined job handles registered with this system. See Dependency for more information.

    GetBufferFromEntity<T>(bool)

    Obsolete. Use GetBufferLookup<T>(bool) instead.

    GetBufferLookup<T>(bool)

    Manually gets a BufferLookup<T> object that can access a DynamicBuffer<T>.

    GetBufferTypeHandle<T>(bool)

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

    GetComponentDataFromEntity<T>(bool)

    Obsolete. Use GetComponentLookup<T>(bool) instead.

    GetComponentLookup<T>(bool)

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

    GetComponentTypeHandle<T>(bool)

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

    GetDynamicComponentTypeHandle(ComponentType)

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

    GetDynamicSharedComponentTypeHandle(ComponentType)

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

    GetEntityQuery(NativeArray<ComponentType>)

    Gets the cached query for the specified component types, if one exists; otherwise, creates a new query instance and caches it.

    GetEntityQuery(ComponentType)

    Gets the cached query for the specified component type, if one exists; otherwise, creates a new query instance and caches it.

    GetEntityQuery(params ComponentType[])

    Gets the cached query for the specified component types, if one exists; otherwise, creates a new query instance and caches it.

    GetEntityQuery(in EntityQueryBuilder)

    Create an entity query from a query description builder.

    GetEntityQuery(params EntityQueryDesc[])

    Combines an array of query description objects into a single query.

    GetEntityStorageInfoLookup()

    Manually gets a dictionary-like container containing information about how entities are stored.

    GetEntityTypeHandle()

    Manually gets the runtime type information required to access the array of Entity objects in a chunk.

    GetSharedComponentTypeHandle<T>()

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

    GetStorageInfoFromEntity()

    Obsolete. Use GetEntityStorageInfoLookup() instead.

    RequireAnyForUpdate(NativeArray<EntityQuery>)

    Provide a set of queries, one of which must match entities for the system to run.

    RequireAnyForUpdate(params EntityQuery[])

    Provide a set of queries, one of which must match entities for the system to run.

    RequireForUpdate(EntityQuery)

    Adds a query that must return entities for the system to run. You can add multiple required queries to a system; all of them must match at least one entity for the system to run.

    RequireForUpdate<T>()

    Require that a specific component exist for this system to run. Also includes any components added to a system. See SystemHandle for more info on that.

    RequireSingletonForUpdate<T>()

    Obsolete. Use RequireForUpdate<T>() instead.

    ShouldRunSystem()

    Reports whether this system satisfies the criteria to update. This function is used internally to determine whether the system's OnUpdate function can be skipped.


    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)