# CreateProxyShapes(ReadOnlySpan<PhysicsShape>, Allocator)

> Create one proxy per shape, taking each proxy AABB, categories and user handle directly from the shape. This only applies to a space bound to a world, and every shape must be a live shape in that world.

## Definition

* **Type:** Method
* **Namespace:** [Unity.U2D.Physics](/engine/6000.7/script-reference/unity/u2d/physics.md)
* **Assembly:** UnityEngine.PhysicsCore2DModule

```csharp
public NativeArray<PhysicsSpace.ProxyHandle> CreateProxyShapes(ReadOnlySpan<PhysicsShape> shapes, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[ReadOnlySpan\<PhysicsShape>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The shapes to create proxies for.**** (\[Allocator]\(/engine/6000.7/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be [Allocator.Temp](/engine/6000.7/script-reference/unity/collections/allocator/temp.md), [Allocator.TempJob](/engine/6000.7/script-reference/unity/collections/allocator/tempjob.md) or [Allocator.Persistent](/engine/6000.7/script-reference/unity/collections/allocator/persistent.md).

### Returns

| Type                                                                                           | Description                                                                                                                                                                            |
| ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<ProxyHandle>](/engine/6000.7/script-reference/unity/collections/nativearray1.md) | The created proxy handles, one per shape in the same order. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |

### Remarks

See [PhysicsSpace.Create](/engine/6000.7/script-reference/unity/u2d/physics/physicsspace/create.md) and [\_sourceWorld](/engine/6000.7/script-reference/unity/u2d/physics/physicsspace/sourceworld.md). If any shape is invalid or not in the bound world then no proxies are created and an empty array is produced.
