States that a component type is serializable.
An abstract class to implement in order to create a system.
A system provides behavior in an ECS architecture.
Prevents a system from being automatically created and run.
What is this : Attribute signaling that ref returned values, of a type that has this attribute, cannot intersect with calls to methods that also have this attribute. Motivation(s): ref returns of values that are backed by native memory (unsafe), like IComponentData in ecs chunks, can have the referenced memory invalidated by certain methods. A way is needed to detect these situations a compilation time to prevent accessing invalidated references. Notes:
- This attribute is used/feeds a Static Analyzer at compilation time.
- Attribute transfers with aggragations: struct A has this attribute, struct B has a field of type A; both A and B are concidered to have the attribute.
A system that provides EntityCommandBuffer objects for other systems.
The EntityManager manages entities and components in a World.
Provides information and utility functions for debugging.
A EntityQuery provides a queryDesc-based view of your component data.
Defines a queryDesc to find archetypes with specific components.
Specifies the maximum number of elements to store inside a chunk.
Extensions for scheduling and running IJobChunk Jobs.
An abstract class to implement in order to create a system that uses ECS-specific Jobs.
Attribute used to make an int field display as a layer selector drop-down.
Specifies the maximum number of components of a type that can be stored in the same chunk.
For internal use only.
[WriteGroup] Can exclude components which are unknown at the time of creating the query that have been declared to write to the same component.
This allows for extending systems of components safely without editing the previously existing systems.
The goal is to have a way for systems that expect to transform data from one set of components (inputs) to another (output[s]) be able to declare that explicit transform, and they exclusively know about one set of inputs. If there are other inputs that want to write to the same output, the query shouldn't match because it's a nonsensical/unhandled setup. It's both a way to guard against nonsensical components (having two systems write to the same output value), and a way to "turn off" existing systems/queries by putting a component with the same write lock on an entity, letting another system handle it.
Marks the entity as an asset, which is used for the Export phase of GameObject conversion.
Disables the entity.
Identifies an entity.
An EntityArchetype is a unique combination of component types. The EntityManager uses the archetype to group all entities that have the same sets of components.
An atomic package of changes to entity and component data.
A thread-safe command buffer that can buffer commands that affect entities and components for later playback.
Allows concurrent (deterministic) command buffer recording.
The EntityManagerDiffer is used to efficiently track changes to a given world over time.
Represents an entity reference that was changed within a EntityChangeSet
This structure references the entity by it's unique EntityGuid.
Low-level utility functions for AOS->SOA (scatter) and SOA->AOS (gather) conversions.
The LinkedEntityGroup buffer makes the entity be the root of a set of connected entities.
Assign Value to each element of NativeArray
Merge sort index list referencing NativeArray values. Provide list of shared values, indices to shared values, and lists of source i value indices with identical shared value. As an example: Given Source NativeArray: [A,A,A,B,B,C,C,A,B] Provides: Shared value indices: [0,0,0,1,1,2,2,0,1] Shared value counts: [4,3,2] (number of occurrences of a shared value) Shared values: [A,B,C] (not stored in this structure) Sorted indices: [0,1,2,7,3,4,8,5,6] (using these indices to look up values in the source array would give you [A,A,A,A,B,B,B,C,C]) Shared value start offsets (into sorted indices): [0,4,7]
Represents a packed component within an EntityChangeSet
Represents a packed component data change within a EntityChangeSet
Marks the entity as a prefab, which implicitly disables the entity.
A Unity-defined shared component assigned to all entities in the same subscene.
An interface for creating structs that can be stored in a DynamicBuffer<T>.
An interface for implementing general-purpose components.
An interface for a component type whose value is shared by all entities in the same chunk.
An interface for a component type that stores system-specific data in a buffer.
An interface for a component type that stores system-specific data.
An interface for a component type that stores shared system-specific data.
The bit flags to use for the Options field.
For internal use only.