# ColliderDistance2D

> Represents the separation or overlap of two Collider2D.

## Definition

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

```csharp
public struct ColliderDistance2D
```

## Remarks

The [ColliderDistance2D](/engine/6000.7/script-reference/unityengine/colliderdistance2d.md) primarily defines a point on the exterior of each [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md) along with the [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md) between those two points.  The [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md) between them can be positive indicating that the [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md) are separated (not overlapped), zero indicating that they are touching (but not overlapped) or negative indicating that they are overlapped.

A [\_normal](/engine/6000.7/script-reference/unityengine/colliderdistance2d/normal.md) is provided that is a normalized vector that points from [\_pointB](/engine/6000.7/script-reference/unityengine/colliderdistance2d/pointb.md) to [\_pointA](/engine/6000.7/script-reference/unityengine/colliderdistance2d/pointa.md).  This vector, when scaled with the [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md), provide a vector that can be used to move the [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md) so that they are no longer overlapped (if the [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md) is negative) or so they are touching (if the [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md) is positive).

A common use-case for this is solving overlaps between two [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md), particularly when attached to a [Rigidbody2D](/engine/6000.7/script-reference/unityengine/rigidbody2d.md) set to be [RigidbodyType2D.Kinematic](/engine/6000.7/script-reference/unityengine/rigidbodytype2d/kinematic.md).

Additional Resources: [Physics2D.Distance](/engine/6000.7/script-reference/unityengine/physics2d/distance.md), [Collider2D.Distance](/engine/6000.7/script-reference/unityengine/collider2d/distance.md), [Rigidbody2D.Distance](/engine/6000.7/script-reference/unityengine/rigidbody2d/distance.md)

## Properties

| Property                                                                                       | Description                                                                                                                                                                                                                                                                                      |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md)         | Gets the distance between two colliders.                                                                                                                                                                                                                                                         |
| [isOverlapped](/engine/6000.7/script-reference/unityengine/colliderdistance2d/isoverlapped.md) | Gets whether the `distance` represents an overlap or not.                                                                                                                                                                                                                                        |
| [isValid](/engine/6000.7/script-reference/unityengine/colliderdistance2d/isvalid.md)           | Gets whether the distance is valid or not.                                                                                                                                                                                                                                                       |
| [normal](/engine/6000.7/script-reference/unityengine/colliderdistance2d/normal.md)             | A normalized vector that points from `pointB` to `pointA`.                                                                                                                                                                                                                                       |
| [pointA](/engine/6000.7/script-reference/unityengine/colliderdistance2d/pointa.md)             | A point on a [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md) that is a specific [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md) away from [\_pointB](/engine/6000.7/script-reference/unityengine/colliderdistance2d/pointb.md). |
| [pointB](/engine/6000.7/script-reference/unityengine/colliderdistance2d/pointb.md)             | A point on a [Collider2D](/engine/6000.7/script-reference/unityengine/collider2d.md) that is a specific [\_distance](/engine/6000.7/script-reference/unityengine/colliderdistance2d/distance.md) away from [\_pointA](/engine/6000.7/script-reference/unityengine/colliderdistance2d/pointa.md). |
