Method CreateEntity
CreateEntity(EntityArchetype)
Creates an entity having the specified archetype.
Declaration
public Entity CreateEntity(EntityArchetype archetype)
Parameters
Type | Name | Description |
---|---|---|
EntityArchetype | archetype | The archetype for the new entity. |
Returns
Type | Description |
---|---|
Entity | The Entity object that you can use to access the entity. |
Remarks
The EntityManager creates the entity in the first available chunk with the matching archetype that has enough space.
Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before creating the entity. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.
CreateEntity(params ComponentType[])
Creates an entity having components of the specified types.
Declaration
[ExcludeFromBurstCompatTesting("Takes managed array")]
public Entity CreateEntity(params ComponentType[] types)
Parameters
Type | Name | Description |
---|---|---|
ComponentType[] | types | The types of components to add to the new entity. |
Returns
Type | Description |
---|---|
Entity | The Entity object that you can use to access the entity. |
Remarks
The EntityManager creates the entity in the first available chunk with the matching archetype that has enough space.
Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before creating the entity. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.
CreateEntity(ReadOnlySpan<ComponentType>)
Creates an entity having components of the specified types.
Declaration
public Entity CreateEntity(ReadOnlySpan<ComponentType> types)
Parameters
Type | Name | Description |
---|---|---|
ReadOnlySpan<ComponentType> | types | The types of components to add to the new entity. |
Returns
Type | Description |
---|---|
Entity | The Entity object that you can use to access the entity. |
Remarks
The EntityManager creates the entity in the first available chunk with the matching archetype that has enough space.
Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before creating the entity. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.
CreateEntity()
Creates an entity with no components.
Declaration
public Entity CreateEntity()
Returns
Type | Description |
---|---|
Entity | The Entity object that you can use to access the entity. |
Remarks
The EntityManager creates the entity in the first available chunk with the archetype having no components.
Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before setting the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.
CreateEntity(EntityArchetype, NativeArray<Entity>)
Creates a set of entities of the specified archetype.
Declaration
public void CreateEntity(EntityArchetype archetype, NativeArray<Entity> entities)
Parameters
Type | Name | Description |
---|---|---|
EntityArchetype | archetype | The archetype defining the structure for the new entities. |
NativeArray<Entity> | entities | An array to hold the Entity objects needed to access the new entities. The length of the array determines how many entities are created. |
Remarks
Fills the NativeArray
object assigned to the entities
parameter with the Entity objects of the created entities. Each entity
has the components specified by the EntityArchetype object assigned
to the archetype
parameter. The EntityManager adds these entities to the World entity list. Use the
Entity objects in the array for further processing, such as setting the component values.
CreateEntity(EntityArchetype, int, AllocatorHandle)
Creates a set of entities of the specified archetype.
Declaration
public NativeArray<Entity> CreateEntity(EntityArchetype archetype, int entityCount, AllocatorManager.AllocatorHandle allocator)
Parameters
Type | Name | Description |
---|---|---|
EntityArchetype | archetype | The archetype defining the structure for the new entities. |
int | entityCount | The number of entities to create with the specified archetype. |
AllocatorManager.AllocatorHandle | allocator | How the created native array should be allocated. |
Returns
Type | Description |
---|---|
NativeArray<Entity> | A NativeArray of entities with the given archetype. |
Remarks
Creates a NativeArray of entities,
each of which has the components specified by the EntityArchetype object assigned
to the archetype
parameter. The EntityManager adds these entities to the World entity list.
CreateEntity(EntityArchetype, int)
Creates a set of entities of the specified archetype.
Declaration
public void CreateEntity(EntityArchetype archetype, int entityCount)
Parameters
Type | Name | Description |
---|---|---|
EntityArchetype | archetype | The archetype defining the structure for the new entities. |
int | entityCount | The number of entities to create with the specified archetype. |
Remarks
Unlike the other overloads, this does not create an array of Entity values. You don't always need the Entity value of a newly created entity because maybe you only need to access the entity through queries.