Class ComponentSystemBase
A system provides behavior in an ECS architecture.
Namespace: Unity.Entities
Assembly: Unity.Entities.dll
Syntax
[RequireDerived]
public abstract class ComponentSystemBaseRemarks
System implementations should inherit SystemBase, which is a subclass of ComponentSystemBase.
Constructors
| Name | Description | 
|---|---|
| ComponentSystemBase() | Initializes and returns an instance of a system. | 
Properties
| Name | Description | 
|---|---|
| Enabled | Controls whether this system executes when its OnUpdate function is called. | 
| EntityManager | The EntityManager object of the World in which this system exists. | 
| EntityQueries | The query objects cached by this system. | 
| GlobalSystemVersion | The current change version number in this World. | 
| LastSystemVersion | The current version of this system. | 
| SystemHandle | The SystemHandle of this system. | 
| SystemHandleUntyped | Obsolete. Use SystemHandle instead. | 
| Time | |
| World | The World in which this system exists. | 
| WorldUpdateAllocator | Retrieve world update allocator from system state. | 
Methods
| Name | Description | 
|---|---|
| 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(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 an EntityStorageInfoLookup object that can access a EntityStorageInfo. | 
| GetEntityTypeHandle() | Manually gets the run-time 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. | 
| 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. | 
| GetStorageInfoFromEntity() | Obsolete. Use GetEntityStorageInfoLookup() instead. | 
| HasSingleton<T>() | Checks whether a singleton component of the specified type exists. | 
| OnCreate() | Called when this system is created. | 
| OnDestroy() | Called when this system is destroyed. | 
| OnStartRunning() | Called before the first call to OnUpdate and when a system resumes updating after being stopped or disabled. | 
| OnStopRunning() | Called when this system stops running because no entities match the system's EntityQuery objects or because you change the system Enabled property to false. | 
| 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 match 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. | 
| SetSingleton<T>(T) | Sets the value of a singleton component. | 
| 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. | 
| TryGetSingletonBuffer<T>(out DynamicBuffer<T>) | 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. | 
| 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. | 
| Update() | Executes the system immediately. |