CreateEntity
Creates an entity having the specified archetype.
Read time 4 minutesLast updated a day ago
Definition
- Type: Method
- Namespace: Unity.Entities
- Assembly: UnityEngine.EntitiesModule
CreateEntity(EntityArchetype)
Creates an entity having the specified archetype.
public Entity CreateEntity(EntityArchetype archetype)
Parameters
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(ComponentType[])
Creates an entity having components of the specified types.
[ExcludeFromBurstCompatTesting("Takes managed array")]public Entity CreateEntity(params ComponentType[] types)
Parameters
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.
public Entity CreateEntity(ReadOnlySpan<ComponentType> types)
Parameters
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.
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.
public void CreateEntity(EntityArchetype archetype, NativeArray<Entity> entities)
Parameters
The archetype defining the structure for the new 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 <a href="https://docs.unity3d.com/ScriptReference/Unity.Collections.NativeArray_1.html">NativeArray</a> object assigned to the parameter with the Entity objects of the created entities. Each entity has the components specified by the EntityArchetype object assigned to the parameter. The EntityManager adds these entities to the EntityManager.World entity list. Use the Entity objects in the array for further processing, such as setting the component values.
entitiesarchetypeCreateEntity(EntityArchetype, int, AllocatorHandle)
Creates a set of entities of the specified archetype.
public NativeArray<Entity> CreateEntity(EntityArchetype archetype, int entityCount, AllocatorManager.AllocatorHandle allocator)
Parameters
The archetype defining the structure for the new entities.
The number of entities to create with the specified archetype.
How the created native array should be allocated.
Returns
Type | Description |
|---|---|
| NativeArray<Entity> | A \<a href="https://docs.unity3d.com/ScriptReference/Unity.Collections.NativeArray_1.html"\>NativeArray\</a\> of entities with the given archetype. |
Remarks
Creates a <a href="https://docs.unity3d.com/ScriptReference/Unity.Collections.NativeArray_1.html">NativeArray</a> of entities, each of which has the components specified by the EntityArchetype object assigned to the parameter. The EntityManager adds these entities to the EntityManager.World entity list.
archetypeCreateEntity(EntityArchetype, int)
Creates a set of entities of the specified archetype.
public void CreateEntity(EntityArchetype archetype, int entityCount)
Parameters
The archetype defining the structure for the new entities.
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.