How Instantiate using NativeArray via EntityCommandBuffer

I want to spawn a lot of entities at runtime.
I know I have to make structural changes at runtime using EntityCommandBuffer (ECB), but it seems Instantiate using NativeArray is not implemented.

// EntityManager.cs
[StructuralChangeMethodAttribute]
public NativeArray<Entity> Instantiate(Entity srcEntity, int instanceCount, Allocator allocator);
[StructuralChangeMethodAttribute]
public Entity Instantiate(Entity srcEntity);
[StructuralChangeMethodAttribute]
public void Instantiate(Entity srcEntity, NativeArray<Entity> outputEntities);
[StructuralChangeMethodAttribute]
public void Instantiate(NativeArray<Entity> srcEntities, NativeArray<Entity> outputEntities);

// EntityCommandBuffer.cs
public Entity Instantiate(Entity e);

Should it instantiate each entity using for-loop, or is there any other way?

Why can’t you use EntityManager? Batch operations on EM much faster than ECB for large data sets.

1 Like