# GetPath

> Gets a path from the Collider by its index.

## Definition

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

## GetPath(int, Vector2\[])

Gets a path from the Collider by its index.

```csharp
public int GetPath(int index, Vector2[] points)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the path from 0 to [CompositeCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/pathcount.md) minus 1.**** (\[Vector2\[]]\(/engine/6000.6/script-reference/unityengine/vector2)): An ordered array of the vertices (points) in the selected path.

### Returns

| Type                                                       | Description                                                |
| ---------------------------------------------------------- | ---------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of points placed in the `points` array. |

### Remarks

A *path* is a cyclic sequence of line segments between points that define the outline of the Collider. Since the Collider can have holes and discontinuous parts, its shape is not necessarily defined by a single path.

Returns the number of points placed in the `points` array.

Additional Resources: [CompositeCollider2D.GetPathPointCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/getpathpointcount.md) & [CompositeCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/pathcount.md).

## GetPath(int, List\<Vector2>)

Gets a path from the Collider by its index.

```csharp
public int GetPath(int index, List<Vector2> points)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the path from 0 to [CompositeCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/pathcount.md) minus 1.**** (\[List\<Vector2>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): An ordered list of the vertices (points) in the selected path.

### Returns

| Type                                                       | Description                                               |
| ---------------------------------------------------------- | --------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of points placed in the `points` list. |

### Remarks

A *path* is a cyclic sequence of line segments between points that define the outline of the Collider. Since the Collider can have holes and discontinuous parts, its shape is not necessarily defined by a single path.

The integer return value is the number of results written into the `results` list. The results list will be resized if it doesn't contain enough elements to report all the results. This prevents memory from being allocated for results when the `results` list does not need to be resized, and improves garbage collection performance when the query is performed frequently.

Additional Resources: [CompositeCollider2D.GetPathPointCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/getpathpointcount.md) & [CompositeCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/pathcount.md).

## GetPath(int, Allocator)

Gets a path from the Collider by its index.

```csharp
public NativeArray<Vector2> GetPath(int index, Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the path from 0 to [CompositeCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/pathcount.md) minus 1.**** (\[Allocator]\(/engine/6000.6/script-reference/unity/collections/allocator)): The memory allocator to use for the results. This can only be Allocator.Temp, Allocator.TempJob or Allocator.Persistent.

### Returns

| Type                                                                                       | Description                                                                                                                                          |
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| [NativeArray\<Vector2>](/engine/6000.6/script-reference/unity/collections/nativearray1.md) | The NativeArray that contains an ordered list of the vertices (points) in the selected path. This must be disposed of unless it contains no results. |

### Remarks

A *path* is a cyclic sequence of line segments between points that define the outline of the Collider. Since the Collider can have holes and discontinuous parts, its shape is not necessarily defined by a single path.

Additional Resources: [CompositeCollider2D.GetPathPointCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/getpathpointcount.md) & [CompositeCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/compositecollider2d/pathcount.md).
