# GetSegments(Allocator)

> Get all the Chain segments that this chain has created and owns.

## Definition

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

```csharp
public NativeArray<PhysicsShape> GetSegments(Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[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\<PhysicsShape>](/engine/6000.7/script-reference/unity/collections/nativearray1.md) | The chain segments that this chain has created and owns. This NativeArray must be disposed of after use otherwise leaks will occur. The exception to this is if the array is empty. |
