# GetContacts

> Retrieves all contact points for this Collider.

## Definition

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

## GetContacts(ContactPoint2D\[])

Retrieves all contact points for this Collider.

```csharp
public int GetContacts(ContactPoint2D[] contacts)
```

### Parameters

**** (\[ContactPoint2D\[]]\(/engine/6000.0/script-reference/unityengine/contactpoint2d)): An array of [ContactPoint2D](/engine/6000.0/script-reference/unityengine/contactpoint2d.md) used to receive the results.

### Returns

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

### Remarks

Contacts involving a [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) set to be a trigger will never be returned here because trigger Colliders do not have contact points.

You should pass an array that is large enough to contain all the contacts you want returned. This array would typically be reused so it should be of a size that can return a reasonable quantity of contacts. No allocations occur in this function which means no work is produced for the garbage collector.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(List\<ContactPoint2D>)

Retrieves all contact points for this Collider.

```csharp
public int GetContacts(List<ContactPoint2D> contacts)
```

### Parameters

**** (\[List\<ContactPoint2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): A list of [ContactPoint2D](/engine/6000.0/script-reference/unityengine/contactpoint2d.md) used to receive the results.

### Returns

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

### Remarks

Contacts involving a [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) set to be a trigger will never be returned here because trigger Colliders do not have contact points.

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.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(ContactFilter2D, ContactPoint2D\[])

Retrieves all contact points for this Collider, with the results filtered by the contactFilter.

```csharp
public int GetContacts(ContactFilter2D contactFilter, ContactPoint2D[] contacts)
```

### Parameters

**** (\[ContactFilter2D]\(/engine/6000.0/script-reference/unityengine/contactfilter2d)): The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.**** (\[ContactPoint2D\[]]\(/engine/6000.0/script-reference/unityengine/contactpoint2d)): An array of [ContactPoint2D](/engine/6000.0/script-reference/unityengine/contactpoint2d.md) used to receive the results.

### Returns

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

### Remarks

Contacts involving a [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) set to be a trigger will never be returned here because trigger Colliders do not have contact points.  This is true even if the contactFilter has its [ContactFilter2D.useTriggers](/engine/6000.0/script-reference/unityengine/contactfilter2d/usetriggers.md) set to true.

You should pass an array that is large enough to contain all the contacts you want returned. This array would typically be reused so it should be of a size that can return a reasonable quantity of contacts. No allocations occur in this function which means no work is produced for the garbage collector.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(ContactFilter2D, List\<ContactPoint2D>)

Retrieves all contact points for this Collider, with the results filtered by the contactFilter.

```csharp
public int GetContacts(ContactFilter2D contactFilter, List<ContactPoint2D> contacts)
```

### Parameters

**** (\[ContactFilter2D]\(/engine/6000.0/script-reference/unityengine/contactfilter2d)): The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.**** (\[List\<ContactPoint2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): A list of [ContactPoint2D](/engine/6000.0/script-reference/unityengine/contactpoint2d.md) used to receive the results.

### Returns

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

### Remarks

Contacts involving a [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) set to be a trigger will never be returned here because trigger Colliders do not have contact points.

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.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(Collider2D\[])

Retrieves all colliders in contact with this Collider.

```csharp
public int GetContacts(Collider2D[] colliders)
```

### Parameters

**** (\[Collider2D\[]]\(/engine/6000.0/script-reference/unityengine/collider2d)): An array of [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) used to receive the results.

### Returns

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

### Remarks

You should pass an array that is large enough to contain all the contacts you want returned. This array would typically be reused so it should be of a size that can return a reasonable quantity of contacts. No allocations occur in this function which means no work is produced for the garbage collector.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(List\<Collider2D>)

Retrieves all colliders in contact with this Collider.

```csharp
public int GetContacts(List<Collider2D> colliders)
```

### Parameters

**** (\[List\<Collider2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): A list of [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) used to receive the results.

### Returns

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

### Remarks

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.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(ContactFilter2D, Collider2D\[])

Retrieves all colliders in contact with this Collider, with the results filtered by the contactFilter.

```csharp
public int GetContacts(ContactFilter2D contactFilter, Collider2D[] colliders)
```

### Parameters

**** (\[ContactFilter2D]\(/engine/6000.0/script-reference/unityengine/contactfilter2d)): The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.**** (\[Collider2D\[]]\(/engine/6000.0/script-reference/unityengine/collider2d)): An array of [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) used to receive the results.

### Returns

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

### Remarks

You should pass an array that is large enough to contain all the contacts you want returned. This array would typically be reused so it should be of a size that can return a reasonable quantity of contacts. No allocations occur in this function which means no work is produced for the garbage collector.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).

## GetContacts(ContactFilter2D, List\<Collider2D>)

Retrieves all colliders in contact with this Collider, with the results filtered by the contactFilter.

```csharp
public int GetContacts(ContactFilter2D contactFilter, List<Collider2D> colliders)
```

### Parameters

**** (\[ContactFilter2D]\(/engine/6000.0/script-reference/unityengine/contactfilter2d)): The contact filter used to filter the results differently, such as by layer mask, Z depth, or normal angle.**** (\[List\<Collider2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)): A list of [Collider2D](/engine/6000.0/script-reference/unityengine/collider2d.md) used to receive the results.

### Returns

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

### Remarks

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.

Additional Resources: [Rigidbody2D.GetContacts](/engine/6000.0/script-reference/unityengine/rigidbody2d/getcontacts.md) and [Physics2D.GetContacts](/engine/6000.0/script-reference/unityengine/physics2d/getcontacts.md).
