# GetContacts

> Retrieves all contact points in for contacts between with the collider1 and collider2, with the results filtered by the ContactFilter2D.

## Definition

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

## GetContacts(Collider2D, Collider2D, ContactFilter2D, ContactPoint2D\[])

Retrieves all contact points in for contacts between with the collider1 and collider2, with the results filtered by the ContactFilter2D.

```csharp
public static int GetContacts(Collider2D collider1, Collider2D collider2, ContactFilter2D contactFilter, ContactPoint2D[] contacts)
```

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): The Collider to check if it has contacts against collider2.**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): The Collider to check if it has contacts against collider1.**** (\[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.

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Collider2D, ContactPoint2D\[])

Retrieves all contact points in contact with the Collider.

```csharp
public static int GetContacts(Collider2D collider, ContactPoint2D[] contacts)
```

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[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.

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Collider2D, ContactFilter2D, ContactPoint2D\[])

Retrieves all contact points in contact with the Collider, with the results filtered by the ContactFilter2D.

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

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[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.

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Collider2D, Collider2D\[])

Retrieves all Colliders in contact with the Collider.

```csharp
public static int GetContacts(Collider2D collider, Collider2D[] colliders)
```

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[Collider2D\[]]\(/engine/6000.0/script-reference/unityengine/collider2d)):&#x20;

### Returns

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

### Remarks

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Collider2D, ContactFilter2D, Collider2D\[])

Retrieves all Colliders in contact with the Collider, with the results filtered by the ContactFilter2D.

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

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[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)):&#x20;

### Returns

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

### Remarks

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Rigidbody2D, ContactPoint2D\[])

Retrieves all contact points in contact with any of the Collider(s) attached to this rigidbody.

```csharp
public static int GetContacts(Rigidbody2D rigidbody, ContactPoint2D[] contacts)
```

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.**** (\[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.

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Rigidbody2D, ContactFilter2D, ContactPoint2D\[])

Retrieves all contact points in contact with any of the Collider(s) attached to this rigidbody, with the results filtered by the ContactFilter2D.

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

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.**** (\[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.

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Rigidbody2D, Collider2D\[])

Retrieves all Colliders in contact with any of the Collider(s) attached to this rigidbody.

```csharp
public static int GetContacts(Rigidbody2D rigidbody, Collider2D[] colliders)
```

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.**** (\[Collider2D\[]]\(/engine/6000.0/script-reference/unityengine/collider2d)):&#x20;

### Returns

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

### Remarks

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

## GetContacts(Rigidbody2D, ContactFilter2D, Collider2D\[])

Retrieves all Colliders in contact with any of the Collider(s) attached to this rigidbody, with the results filtered by the ContactFilter2D.

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

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The rigidbody to retrieve contacts for.  All Colliders attached to this rigidbody will be checked.**** (\[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)):&#x20;

### Returns

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

### Remarks

When retrieving contacts, you should ensure that the provided array is large enough to contain all the contacts you are interested in.  Typically the array would be reused therefore it would be a size to return a reasonable quantity of contacts.  This function also means that no allocations occur which means no work is produced for the garbage collector.

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

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

Retrieves all contact points in for contacts between with the collider1 and collider2, with the results filtered by the contactFilter2D.

```csharp
public static int GetContacts(Collider2D collider1, Collider2D collider2, ContactFilter2D contactFilter, List<ContactPoint2D> contacts)
```

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): The Collider to check if it has contacts against collider2.**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): The Collider to check if it has contacts against collider1.**** (\[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.  This is true even if the contactFilter has its [ContactFilter2D.useTriggers](/engine/6000.0/script-reference/unityengine/contactfilter2d/usetriggers.md) set to true.

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.

The results can also be filtered by the contactFilter.

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

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

Retrieves all contact points in contact with the Collider.

```csharp
public static int GetContacts(Collider2D collider, List<ContactPoint2D> contacts)
```

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[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

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.

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

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

Retrieves all contact points in contact with the Collider, with the results filtered by the contactFilter2D.

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

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[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.  This is true even if the contactFilter has its [ContactFilter2D.useTriggers](/engine/6000.0/script-reference/unityengine/contactfilter2d/usetriggers.md) set to true.

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.

The results can also be filtered by the contactFilter.

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

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

Retrieves all Colliders in contact with the Collider.

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

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[List\<Collider2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)):&#x20;

### Returns

| Type                                                       | Description                                                   |
| ---------------------------------------------------------- | ------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of Colliders placed in the Colliders 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.

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

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

Retrieves all Colliders in contact with the Collider, with the results filtered by the contactFilter2D.

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

### Parameters

**** (\[Collider2D]\(/engine/6000.0/script-reference/unityengine/collider2d)): **** (\[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)):&#x20;

### Returns

| Type                                                       | Description                                                   |
| ---------------------------------------------------------- | ------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of Colliders placed in the Colliders 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.

The results can also be filtered by the contactFilter.

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

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

Retrieves all contact points in contact with any of the Collider(s) attached to this Rigidbody.

```csharp
public static int GetContacts(Rigidbody2D rigidbody, List<ContactPoint2D> contacts)
```

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The Rigidbody to retrieve contacts for.  All Colliders attached to this Rigidbody will be checked.**** (\[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 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.

The results can also be filtered by the contactFilter.

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

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

Retrieves all Colliders in contact with any of the Collider(s) attached to this Rigidbody, with the results filtered by the contactFilter2D.

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

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The Rigidbody to retrieve contacts for.  All Colliders attached to this Rigidbody will be checked.**** (\[ContactFilter2D]\(/engine/6000.0/script-reference/unityengine/contactfilter2d)): Returns the number of contacts placed in the contacts list.**** (\[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

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.

The results can also be filtered by the contactFilter.

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

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

Retrieves all Colliders in contact with any of the Collider(s) attached to this Rigidbody.

```csharp
public static int GetContacts(Rigidbody2D rigidbody, List<Collider2D> colliders)
```

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The Rigidbody to retrieve contacts for.  All Colliders attached to this Rigidbody will be checked.**** (\[List\<Collider2D>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)):&#x20;

### Returns

| Type                                                       | Description                                                   |
| ---------------------------------------------------------- | ------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of Colliders placed in the Colliders 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.

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

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

Retrieves all Colliders in contact with any of the Collider(s) attached to this Rigidbody, with the results filtered by the contactFilter2D.

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

### Parameters

**** (\[Rigidbody2D]\(/engine/6000.0/script-reference/unityengine/rigidbody2d)): The Rigidbody to retrieve contacts for.  All Colliders attached to this Rigidbody will be checked.**** (\[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)):&#x20;

### Returns

| Type                                                       | Description                                                   |
| ---------------------------------------------------------- | ------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of Colliders placed in the Colliders 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.

The results can also be filtered by the contactFilter.

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