# 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)

Gets a path from the Collider by its index.

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

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the path to retrieve.

### Returns

| Type                                                                  | Description                                                     |
| --------------------------------------------------------------------- | --------------------------------------------------------------- |
| [Vector2\[\]](/engine/6000.6/script-reference/unityengine/vector2.md) | An ordered array of the vertices (points) in the selected path. |

### Remarks

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

Returns an ordered array of the points in the path.

Additional Resources: [PolygonCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/polygoncollider2d/pathcount.md), [PolygonCollider2D.SetPath](/engine/6000.6/script-reference/unityengine/polygoncollider2d/setpath.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 to retrieve.**** (\[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 results placed in the `points` list. |

### Remarks

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

Returns an ordered list of the points in the path.

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

Additional Resources: [PolygonCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/polygoncollider2d/pathcount.md), [PolygonCollider2D.SetPath](/engine/6000.6/script-reference/unityengine/polygoncollider2d/setpath.md).

## GetPath(int, Allocator)

Gets a path from the Collider by its index.

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

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the path to retrieve.**** (\[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. Because the Collider can have holes and discontinuous parts, its shape is not necessarily defined by a single path.

Returns an ordered list of the points in the path.

Additional Resources: [PolygonCollider2D.pathCount](/engine/6000.6/script-reference/unityengine/polygoncollider2d/pathcount.md), [PolygonCollider2D.SetPath](/engine/6000.6/script-reference/unityengine/polygoncollider2d/setpath.md).
