# GetShapeVertex(int, int)

> Gets a single vertex of a shape. The vertex index is zero-based with the shape having a quantity of vertex specified by _vertexCount.

## Definition

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

```csharp
public Vector2 GetShapeVertex(int shapeIndex, int vertexIndex)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the shape stored in the [PhysicsShapeGroup2D](/engine/6000.7/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.7/script-reference/unityengine/physicsshapegroup2d/shapecount.md).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The index of the shape vertex stored in the [PhysicsShapeGroup2D](/engine/6000.7/script-reference/unityengine/physicsshapegroup2d.md). The vertex index is zero-based with the shape having a quantity of vertex specified by [\_vertexCount](/engine/6000.7/script-reference/unityengine/physicsshape2d/vertexcount.md).

### Returns

| Type                                                              | Description                         |
| ----------------------------------------------------------------- | ----------------------------------- |
| [Vector2](/engine/6000.7/script-reference/unityengine/vector2.md) | Returns the specified shape vertex. |

### Remarks

**NOTE**: When accessing multiple vertices, it is more efficient to do one of the following:

* Get all the shape vertices using [GetShapeVertices](/engine/6000.7/script-reference/unityengine/physicsshapegroup2d/getshapevertices.md)

* Get all the shape group vertices using [GetShapeData](/engine/6000.7/script-reference/unityengine/physicsshapegroup2d/getshapedata.md)

* Create the [PhysicsShapeGroup2D](/engine/6000.7/script-reference/unityengine/physicsshapegroup2d.md) with explicit shapes and vertices lists using the shape group Constructor

Additional Resources: [SetShapeVertex](/engine/6000.7/script-reference/unityengine/physicsshapegroup2d/setshapevertex.md)

### Examples

```csharp
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 vertex0 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 0);
        var vertex1 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 1);

        // validate the Capsule vertices.
        Assert.AreEqual(Vector2.down, vertex0);
        Assert.AreEqual(Vector2.up, vertex1);
    }
}
```
