# CreateBodyBatch

> Create a batch of bodies in the world.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.LowLevelPhysics2D](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d.md)
* **Assembly:** UnityEngine.Physics2DModule

## CreateBodyBatch(PhysicsBodyDefinition, int, Allocator)

Create a batch of bodies in the world.

```csharp
public NativeArray<PhysicsBody> CreateBodyBatch(PhysicsBodyDefinition definition, int bodyCount, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[PhysicsBodyDefinition]\(/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsbodydefinition)): The body definition to use.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The number of bodies to create.**** (\[Allocator]\(/engine/6000.3/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.3/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.3/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.3/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                           | Description                                                                                                                                    |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<PhysicsBody>](/engine/6000.3/script-reference/unity/collections/nativearray1.md) | The created bodies. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |

## CreateBodyBatch(ReadOnlySpan\<PhysicsBodyDefinition>, Allocator)

Create a batch of bodies in the world.

```csharp
public NativeArray<PhysicsBody> CreateBodyBatch(ReadOnlySpan<PhysicsBodyDefinition> definitions, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[ReadOnlySpan\<PhysicsBodyDefinition>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The definitions used to create the bodies. The number of bodies produced is implicitly controlled by the number of definitions in this span.**** (\[Allocator]\(/engine/6000.3/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.3/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.3/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.3/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                           | Description                                                                                                                                    |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<PhysicsBody>](/engine/6000.3/script-reference/unity/collections/nativearray1.md) | The created bodies. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |
