# OverlapCapsule

> Checks if a Collider falls within a capsule area.

## Definition

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

## OverlapCapsule(Vector2, Vector2, CapsuleDirection2D, float, int, float, float)

Checks if a Collider falls within a capsule area.

```csharp
public static Collider2D OverlapCapsule(Vector2 point, Vector2 size, CapsuleDirection2D direction, float angle, int layerMask, float minDepth, float maxDepth)
```

### Parameters

**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The center of the capsule.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The size of the capsule.**** (\[CapsuleDirection2D]\(/engine/6000.3/script-reference/unityengine/capsuledirection2d)): The direction of the capsule.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The angle of the capsule.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Filter to check objects only on specific layers.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Only include objects with a Z coordinate (depth) greater than this value.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Only include objects with a Z coordinate (depth) less than this value.

### Returns

| Type                                                                    | Description                           |
| ----------------------------------------------------------------------- | ------------------------------------- |
| [Collider2D](/engine/6000.3/script-reference/unityengine/collider2d.md) | The Collider overlapping the capsule. |

### Remarks

The capsule is defined by its center coordinate in world space, its size, direction and angle. The optional *layerMask* allows the test to check only for objects on specific layers.

Although the Z axis is not relevant for rendering or collisions in 2D, you can use the *minDepth* and *maxDepth* parameters to filter objects based on their Z coordinate. If more than one Collider falls within the capsule then the one returned will be the one with the lowest Z coordinate value. Null is returned if there are no Colliders in the box.

Additional Resources: [Physics2D.OverlapCapsule](/engine/6000.3/script-reference/unityengine/physics2d/overlapcapsule.md), [Physics2D.OverlapCapsuleAll](/engine/6000.3/script-reference/unityengine/physics2d/overlapcapsuleall.md).

## OverlapCapsule(Vector2, Vector2, CapsuleDirection2D, float, ContactFilter2D, Collider2D\[])

Checks if a Collider falls within a capsule area.

```csharp
public static int OverlapCapsule(Vector2 point, Vector2 size, CapsuleDirection2D direction, float angle, ContactFilter2D contactFilter, Collider2D[] results)
```

### Parameters

**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The center of the capsule.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The size of the capsule.**** (\[CapsuleDirection2D]\(/engine/6000.3/script-reference/unityengine/capsuledirection2d)): The direction of the capsule.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The angle of the capsule.**** (\[ContactFilter2D]\(/engine/6000.3/script-reference/unityengine/contactfilter2d)): The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.**** (\[Collider2D\[]]\(/engine/6000.3/script-reference/unityengine/collider2d)): The array to receive results.  The size of the array determines the maximum number of results that can be returned.

### Returns

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

### Remarks

This function returns the number of Colliders found and places those Colliders in the `results` array.

## OverlapCapsule(Vector2, Vector2, CapsuleDirection2D, float, ContactFilter2D, List\<Collider2D>)

Checks if a Collider falls within a capsule area.

```csharp
public static int OverlapCapsule(Vector2 point, Vector2 size, CapsuleDirection2D direction, float angle, ContactFilter2D contactFilter, List<Collider2D> results)
```

### Parameters

**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The center of the capsule.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): The size of the capsule.**** (\[CapsuleDirection2D]\(/engine/6000.3/script-reference/unityengine/capsuledirection2d)): The direction of the capsule.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The angle of the capsule.**** (\[ContactFilter2D]\(/engine/6000.3/script-reference/unityengine/contactfilter2d)): The contact filter used to filter the results differently, such as by layer mask, Z depth.  Note that normal angle is not used for overlap testing.**** (\[List\<Collider2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): The list to receive results.

### Returns

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

### Remarks

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.
