# OverlapSphereNonAlloc(Vector3, float, Collider[], int, QueryTriggerInteraction)

> Computes and stores colliders touching or inside the sphere into the provided buffer.

## Definition

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

```csharp
public static int OverlapSphereNonAlloc(Vector3 position, float radius, Collider[] results, int layerMask, QueryTriggerInteraction queryTriggerInteraction)
```

### Parameters

**** (\[Vector3]\(/engine/6000.0/script-reference/unityengine/vector3)): Center of the sphere.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Radius of the sphere.**** (\[Collider\[]]\(/engine/6000.0/script-reference/unityengine/collider)): The buffer to store the results into.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): A Layer mask defines which layers of colliders to include in the query.**** (\[QueryTriggerInteraction]\(/engine/6000.0/script-reference/unityengine/querytriggerinteraction)): Specifies whether this query should hit Triggers.

### Returns

| Type                                                       | Description                                                     |
| ---------------------------------------------------------- | --------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the amount of colliders stored into the results buffer. |

### Remarks

Does not attempt to grow the buffer if it runs out of space. The length of the buffer is returned when the buffer is full. Like [Physics.OverlapSphere](/engine/6000.0/script-reference/unityengine/physics/overlapsphere.md), but generates no garbage. Additional Resources: [Physics.AllLayers](/engine/6000.0/script-reference/unityengine/physics/alllayers.md).

```csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    void ExplosionDamage(Vector3 center, float radius)
    {
        int maxColliders = 10;
        Collider[] hitColliders = new Collider[maxColliders];
        int numColliders = Physics.OverlapSphereNonAlloc(center, radius, hitColliders);
        for (int i = 0; i < numColliders; i++)
        {
            hitColliders[i].SendMessage("AddDamage");
        }
    }
}
```

Additional Resources: Ray cast with layers section of [ Use of layers in Unity](/engine/6000.0/manual/working-with-gameobjects/layers/use.md).
