# Instantiate

> Records a command to create an entity with specified entity prefab.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule

## Instantiate(int, Entity)

Records a command to create an entity with specified entity prefab.

```csharp
public Entity Instantiate(int sortKey, Entity e)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): A unique index for each set of commands added to this EntityCommandBuffer across all parallel jobs writing commands to this buffer. The [ChunkIndexInQuery](/engine/7000.0/script-reference/unity/entities/chunkindexinquery.md) provided by [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) is an appropriate value to use for this parameter. In an [IJobChunk](/engine/7000.0/script-reference/unity/entities/ijobchunk.md) pass the 'unfilteredChunkIndex' value from IJobChunk.Execute.**** (\[Entity]\(/engine/7000.0/script-reference/unity/entities/entity)): The entity prefab.

### Returns

| Type                                                               | Description                                                                           |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
| [Entity](/engine/7000.0/script-reference/unity/entities/entity.md) | An entity that will be assigned a chunk when this EntityCommandBuffer is played back. |

### Remarks

An instantiated entity will have the same components and component values as the prefab entity, minus the Prefab tag component. At playback, this command will throw an error if the source entity was destroyed before playback.

## Instantiate(int, Entity, NativeArray\<Entity>)

Records a command to create a NativeArray of entities with specified entity prefab.

```csharp
public void Instantiate(int sortKey, Entity e, NativeArray<Entity> entities)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): A unique index for each set of commands added to this EntityCommandBuffer across all parallel jobs writing commands to this buffer. The [ChunkIndexInQuery](/engine/7000.0/script-reference/unity/entities/chunkindexinquery.md) provided by [IJobEntity](/engine/7000.0/script-reference/unity/entities/ijobentity.md) is an appropriate value to use for this parameter. In an [IJobChunk](/engine/7000.0/script-reference/unity/entities/ijobchunk.md) pass the 'unfilteredChunkIndex' value from IJobChunk.Execute.**** (\[Entity]\(/engine/7000.0/script-reference/unity/entities/entity)): The entity prefab.**** (\[NativeArray\<Entity>]\(/engine/7000.0/script-reference/unity/collections/nativearray1)): The NativeArray of entities that will be assigned chunks when this EntityCommandBuffer is played back.

### Remarks

An instantiated entity will have the same components and component values as the prefab entity, minus the Prefab tag component. At playback, this command will throw an error if the source entity was destroyed before playback.
