# GetShapeVertices(int, List<Vector2>)

> Gets a copy of the shape vertices in the PhysicsShapeGroup2D.

## Definition

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

```csharp
public void GetShapeVertices(int shapeIndex, List<Vector2> vertices)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the shape stored in the [PhysicsShapeGroup2D](/engine/6000.6/script-reference/unityengine/physicsshapegroup2d.md). The shape index is zero-based with the shape group having a quantity of shapes specified by [shapeCount](/engine/6000.6/script-reference/unityengine/physicsshapegroup2d/shapecount.md).**** (\[List\<Vector2>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): A list that will be populated with a copy of all the shape vertices in the [PhysicsShapeGroup2D](/engine/6000.6/script-reference/unityengine/physicsshapegroup2d.md).

### Remarks

**NOTE**: Because this is a copy, changing the specified shape  `vertices` list afterwards will not change the [PhysicsShapeGroup2D](/engine/6000.6/script-reference/unityengine/physicsshapegroup2d.md).

### Examples

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Assertions;

public class Example : MonoBehaviour
{
    void Start()
    {
        // Create a shape group.
        var shapeGroup = new PhysicsShapeGroup2D();

        // Add a Capsule to the shape group.
        var shapeIndex = shapeGroup.AddCapsule
            (
                vertex0: Vector2.down,
                vertex1: Vector2.up,
                radius: 0.5f
            );


        // Fetch the shape vertices from the shape group.
        var vertices = new List<Vector2>();
        shapeGroup.GetShapeVertices(shapeIndex, vertices);

        // validate the Capsule vertices (2).
        Assert.AreEqual(Vector2.down, vertices[0]);
        Assert.AreEqual(Vector2.up, vertices[1]);
    }
}
```
