docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Entity Component System API reference

    This page contains an overview of some key APIs that make up Unity's Entity Component System (ECS).

    Entity types Description
    Entity The fundamental identifier in ECS.
    EntityArchetype A unique combination of component types. For more information, see Archetype concepts.
    EntityQuery Select entities with specific characteristics. For more information, see Querying entity data with an entity query.
    EntityQueryBuilder Create EntityQuery objects.
    EntityManager Manages entities and provides utility methods.
    World An isolated collection of entities. For more information see World concepts
    Component types Description
    IComponentData A marker interface for general purpose components.
    ISharedComponentData A marker interface for components that more than one entity shares. For moe information, see Shared components.
    ICleanupComponentData A marker interface for specialized system components. For more information, see Cleanup components.
    IBufferElementData A marker interface for buffer elements. For more information, see Buffer components.
    DynamicBuffer Access buffer elements.
    BlobAssetReference A reference to a blob asset in a component.
    System types Description
    ISystem An interface to create systems from.
    ComponentSystemBase Defines a set of basic functionality for systems. For more information, see Creating systems with SystemBase.
    SystemBase The base class to extend when writing a system.
    ComponentSystemGroup A group of systems that update as a unit. For more information, see System groups.
    ECS job types Description
    IJobEntity An interface to implicitly create a job that iterates over the entities. For more information, see Iterate over component data with IJobEntity.
    Entities.ForEach An implicitly created job that iterates over a set of entities. For more information, see Iterate over data with Entities.ForEach.
    Job.WithCode An implicitly created single job.
    IJobChunk An interface to explicitly create a job that iterates over the chunks matched by an entity query. For more information, see Iterate over data with IJobChunk.
    Other important types Description
    ArchetypeChunk The storage unit for entity components.
    EntityCommandBuffer A buffer for recording entity modifications used to reduce structural changes. For more information see Scheduling data changes with an EntityCommandBuffer.
    ComponentType Define types when creating entity queries.
    BlobBuilder A utility class to create blob assets, which are immutable data structures that can be safely shared between jobs using BlobAssetReference instances.
    ICustomBootstrap An interface to implement to create your own system loop.
    SystemAPI Class that gives access to access to buffers, components, time, enumeration, singletons and more. This also includes any IAspect, IJobEntity, SystemBase, and ISystem.
    Attributes Description
    UpdateInGroup Defines the ComponentSystemGroup that a system should be added to.
    UpdateBefore Specifies that one system must update before another.
    UpdateAfter Specifies that one system must update after another
    DisableAutoCreation Prevents a system from being automatically discovered and run when your application starts up
    ExecuteAlways Specifies that a system's update function must be invoked every frame, even when no entities are returned by the system's entity query.
    In This Article
    Back to top
    Copyright © 2024 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)