Namespace Unity.Entities
Classes
AlwaysSynchronizeSystemAttribute
AlwaysSynchronizeSystem can be applied to a JobComponentSystem to force it to synchronize on all of its dependencies before every update. This attribute should only be applied when a synchronization point is necessary every frame.
AlwaysUpdateSystemAttribute
BeginFixedStepSimulationEntityCommandBufferSystem
BeginInitializationEntityCommandBufferSystem
BeginPresentationEntityCommandBufferSystem
BeginSimulationEntityCommandBufferSystem
BlobAssetSerializeExtensions
Extensions for supporting serialization and deserialization of blob assets.
BlobAssetStore
Purpose of this class is to provide a consistent cache of BlobAsset object in order to avoid rebuilding them when it is not necessary
BlobStringExtensions
Extensions that allow the creation of BlobString instances by a BlobBuilder.
BurstMonoInteropMethodAttribute
ChangedFilterAttribute
ChangeVersionUtility
ChunkSerializableAttribute
States that a component type is serializable.
ComponentSystem
An abstract class to implement in order to create a system.
ComponentSystemBase
A system provides behavior in an ECS architecture.
ComponentSystemBaseManagedComponentExtensions
ComponentSystemGroup
ComponentSystemGroupExtensions
ComponentSystemSorter
ComponentSystemSorter.CircularSystemDependencyException
ConverterVersionAttribute
By declaring a version number a ComponentSystem can ensure that any cached data by the asset pipeline was prepared using the active code. If the version number of any conversion system or optimization system changes or a new conversion system is added, then the scene will be re-converted.
ConvertToEntity
ConvertToEntitySystem
DefaultWorldInitialization
DisableAutoCreationAttribute
Prevents a system from being automatically created and run.
DisableAutoTypeRegistration
[DisableAutoTypeRegistration] prevents a Component Type from being registered in the TypeManager during TypeManager.Initialize(). Types that are not registered will not be recognized by EntityManager.
DisallowRefReturnCrossingThisAttribute
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.
EndFixedStepSimulationEntityCommandBufferSystem
EndInitializationEntityCommandBufferSystem
EndSimulationEntityCommandBufferSystem
EntityCommandBufferManagedComponentExtensions
EntityCommandBufferSystem
A system that provides EntityCommandBuffer objects for other systems.
EntityManager.EntityManagerDebug
Provides information and utility functions for debugging.
EntityManagerExtensions
EntityManagerManagedComponentExtensions
EntityPatcher
EntityQueryDesc
Describes a query to find archetypes in terms of required, optional, and excluded components.
EntityQueryDescValidationException
EntityQueryExtensionsForComponentArray
EntityQueryExtensionsForTransformAccessArray
EntityQueryManagedComponentExtensions
EntityRemapUtility
ExcludeComponentAttribute
FixedRateUtils
FixedRateUtils.FixedRateCatchUpManager
FixedRateUtils.FixedRateSimpleManager
FixedStepSimulationSystemGroup
This system group is configured by default to use a fixed timestep for the duration of its updates.
ForEachLambdaJobDescription_SetSharedComponent
GameObjectConversionSettings
GameObjectConversionUtility
GameObjectEntity
GenerateAuthoringComponentAttribute
GenerateBurstMonoInteropAttribute
InitializationSystemGroup
InternalBufferCapacityAttribute
Specifies the maximum number of elements to store inside a chunk.
InternalCompilerInterface
JobChunkExtensions
Extensions for scheduling and running IJobChunk Jobs.
JobComponentSystem
An abstract class to implement in order to create a system that uses ECS-specific Jobs.
JobEntityBatchExtensions
Extensions for scheduling and running IJobEntityBatch jobs.
JobEntityBatchIndexExtensions
Extensions for scheduling and running IJobEntityBatchWithIndex jobs.
JobForEachExtensions
LambdaJobChunkDescription_SetSharedComponent
LambdaJobChunkDescriptionConstructionMethods
LambdaJobDescriptionConstructionMethods
LambdaJobDescriptionExecutionMethods
LambdaJobDescriptionExecutionMethodsJCS
LambdaJobQueryConstructionMethods
LambdaSingleJobDescriptionConstructionMethods
LambdaSingleJobDescriptionExecutionMethods
LambdaSingleJobDescriptionExecutionMethodsJCS
LateSimulationSystemGroup
LayerFieldAttribute
Attribute used to make an int field display as a layer selector drop-down.
MaximumChunkCapacityAttribute
Specifies the maximum number of components of a type that can be stored in the same chunk.
MayOnlyLiveInBlobStorageAttribute
Use this attribute if you have structs that use offset pointers that are only valid when they live inside the blob storage. It will turn ensure a compiler error is generated for every time a reference to the struct is copied, or a field is read from a reference to the struct this attribute is applied on.
PostLoadCommandBuffer
PresentationSystemGroup
RegisterGenericComponentTypeAttribute
RegisterGenericJobTypeAttribute
When added as an assembly-level attribute, allows creating job reflection data for instances of generic jobs.
RequireComponentTagAttribute
RequiresEntityConversionAttribute
RestrictAuthoringInputToAttribute
SceneViewWorldPositionAttribute
ScriptBehaviourUpdateOrder
SimulationSystemGroup
StaticOptimizeEntity
SystemBase
Implement SystemBase to create a systems in ECS.
SystemBaseDelegates
SystemBaseRegistry
TypeHash
TypeManager
TypeManager.ForcedMemoryOrderingAttribute
TypeManager.TypeVersionAttribute
UpdateAfterAttribute
UpdateBeforeAttribute
UpdateInGroupAttribute
The specified Type must be a ComponentSystemGroup. Updating in a group means this system will be automatically updated by the specified ComponentSystemGroup when the group is updated. The system may order itself relative to other systems in the group with UpdateBefore and UpdateAfter. This ordering takes effect when the system group is sorted.
If the optional OrderFirst parameter is set to true, this system will act as if it has an implicit [UpdateBefore] targeting all other systems in the group that do not have OrderFirst=true, but it may still order itself relative to other systems with OrderFirst=true.
If the optional OrderLast parameter is set to true, this system will act as if it has an implicit [UpdateAfter] targeting all other systems in the group that do not have OrderLast=true, but it may still order itself relative to other systems with OrderLast=true.
An UpdateInGroup attribute with both OrderFirst=true and OrderLast=true is invalid, and will throw an exception.
UpdateWorldTimeSystem
World
WorldExtensions
WorldSystemFilterAttribute
For internal use only.
WriteGroupAttribute
[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.
Structs
ArchetypeChunk
A block of unmanaged memory containing the components for entities sharing the same Archetype.
ArchetypeChunkArray
ArchetypeChunkIterator
Can be passed into IJobChunk.RunWithoutJobs to iterate over an entity query without running any jobs.
Asset
Marks the entity as an asset, which is used for the Export phase of GameObject conversion.
BlobArray<T>
An immutable array of value types stored in a blob asset.
BlobAssetChange
Header for a changed blob asset.
BlobAssetComputationContext<TS, TB>
The BlobAssetComputationContext must be used during Authoring to ECS conversion process to detect which BlobAsset should be computed and to declare their association with a UnityObject
BlobAssetReference<T>
A reference to a blob asset stored in unmanaged memory.
BlobAssetReferenceChange
Represents a blob asset reference that was changed within a EntityChangeSet
BlobBuilder
Creates blob assets.
BlobBuilderArray<T>
Used by the BlobBuilder methods to reference the arrays within a blob asset.
BlobPtr<T>
A pointer referencing a struct, array, or field inside a blob asset.
BlobString
An immutable, variable-length string stored in a blob asset.
BufferAccessor<T>
BufferFromEntity<T>
BufferTypeHandle<T>
ChunkEntitiesDescription
ChunkHeader
ComponentDataFromEntity<T>
A [NativeContainer] that provides access to all instances of components of type T, indexed by Entity.
ComponentSystemSorter.TypeHeapElement
ComponentType
ComponentTypeHandle<T>
ComponentTypeHash
ComponentTypes
An immutable list of ComponentType values.
ComponentTypes.Masks
Disabled
Disables the entity.
DynamicBuffer<T>
An array-like data structure that can be used as a component.
DynamicComponentTypeHandle
DynamicSharedComponentTypeHandle
EditorRenderData
Entity
Identifies an entity.
EntityArchetype
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.
EntityChanges
EntityChangeSet
An atomic package of changes to entity and component data.
EntityCommandBuffer
A thread-safe command buffer that can buffer commands that affect entities and components for later playback.
EntityCommandBuffer.ParallelWriter
Allows concurrent (deterministic) command buffer recording.
EntityContainer
EntityGuid
This component is attached to converted Entities and is guaranteed to be unique within a World. It can be used to map back to the authoring GameObject from which it was converted. Note that an EntityGuid does not have enough information to be persistent across sessions.
EntityInChunk
EntityManager
The EntityManager manages entities and components in a World.
EntityManagerDiffer
The EntityManagerDiffer is used to efficiently track changes to a given world over time.
EntityQuery
Use an EntityQuery object to select entities with components that meet specific requirements.
EntityQueryBuilder
EntityQueryMask
Provides an efficient test of whether a specific entity would be selected by an EntityQuery.
EntityReferenceChange
Represents an entity reference that was changed within a EntityChangeSet
This structure references the entity by it's unique EntityGuid.
EntityRemapUtility.BufferEntityPatchInfo
EntityRemapUtility.EntityPatchInfo
EntityRemapUtility.EntityRemapInfo
EntityTypeHandle
ExcludeComponent<T>
ExclusiveEntityTransaction
FastEquality
FastEquality.Layout
FastEquality.TypeInfo
Hash128
LayoutUtility
Low-level utility functions for AOS->SOA (scatter) and SOA->AOS (gather) conversions.
LayoutUtilityManaged
LinkedEntityGroup
The LinkedEntityGroup buffer makes the entity be the root of a set of connected entities.
LinkedEntityGroupChange
ManagedComponentAccessor<T>
MemsetNativeArray<T>
Assign Value to each element of NativeArray
NativeArraySharedInt
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]
PackedComponent
Represents a packed component within an EntityChangeSet
PackedComponentDataChange
Represents a packed component data change within a EntityChangeSet
PackedManagedComponentDataChange
PackedSharedComponentDataChange
Prefab
Marks the entity as a prefab, which implicitly disables the entity.
RequestSceneLoaded
SceneReference
SceneSection
SceneSectionData
SceneTag
A Unity-defined shared component assigned to all entities in the same subscene.
SectionMetadataSetup
SharedComponentTypeHandle<T>
SOAFieldInfo
SystemState
Contains raw entity system state. Used by unmanaged systems (ISystemBase) as well as managed systems behind the scenes.
TypeManager.EntityOffsetInfo
TypeManager.TypeInfo
World.NoAllocReadOnlyCollection<T>
Read only collection that doesn't generate garbage when used in a foreach.
WorldUnmanaged
Interfaces
IBufferElementData
An interface for creating structs that can be stored in a DynamicBuffer<T>.
IComponentData
An interface for implementing general-purpose components.
IConvertGameObjectToEntity
ICustomBootstrap
When entering playmode or the game starts in the Player a default world is created. Sometimes you need multiple worlds to be setup when the game starts or perform some custom world initialization. This lets you override the bootstrap of game code world creation.
IDeclareReferencedPrefabs
IFixedRateManager
IJobChunk
IJobChunk is a type of Job that iterates over a set of ArchetypeChunk instances.
IJobEntityBatch
IJobEntityBatch is a type of IJob that iterates over a set of ArchetypeChunk instances, where each instance represents a contiguous batch of entities within a chunk.
IJobEntityBatchWithIndex
IJobEntityBatchWithIndex is a variant of [IJobEntityBatch] that provides an additional indexOfFirstEntityInQuery parameter, which provides a per-batch index that is the aggregate of all previous batch counts.
IJobForEach<T0>
IJobForEachWithEntity<T0>
IRefCounted
ISharedComponentData
An interface for a component type whose value is shared by all entities in the same chunk.
ISystemBase
Interface implemented by unmanaged component systems.
ISystemStateBufferElementData
An interface for a component type that stores system-specific data in a buffer.
ISystemStateComponentData
An interface for a component type that stores system-specific data.
ISystemStateSharedComponentData
An interface for a component type that stores shared system-specific data.
JobForEachExtensions.IBaseJobForEach
Enums
ComponentType.AccessMode
ComponentTypeFlags
ConvertToEntity.Mode
EntityManagerDifferOptions
Parameters used to configure the the execution of the differ.
EntityQueryOptions
The bit flags to use for the Options field.
GameObjectConversionUtility.ConversionFlags
PlaybackPolicy
Specifies if the EntityCommandBuffer can be played a single time or multiple times.
SceneLoadFlags
TypeManager.TypeCategory
WorldFlags
Specify all traits a World can have.
WorldSystemFilterFlags
For internal use only.