# TestPlanesAABB

> Returns true if bounds are inside the plane array.

## Definition

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

## TestPlanesAABB(Plane\[], Bounds)

Returns true if bounds are inside the plane array.

```csharp
public static bool TestPlanesAABB(Plane[] planes, Bounds bounds)
```

### Parameters

**** (\[Plane\[]]\(/engine/6000.5/script-reference/unityengine/plane)): **** (\[Bounds]\(/engine/6000.5/script-reference/unityengine/bounds)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

Will return true if the bounding box is inside the planes or intersects any of the planes.

The TestPlanesAABB function uses the Plane array to test whether a bounding box is in the frustum or not.

You can use this function with CalculateFrustrumPlanes to test whether a camera's view contains an object regardless of whether it is rendered or not.

The test is conservative and can give false positive results. A bounding box can intersect the planes outside of the frustum because the planes are infinite and extend beyond the frustum volume. A typical false positive result is produced by a big bounding box near the frustum edge or corner.

Additional Resources: [GeometryUtility.CalculateFrustumPlanes](/engine/6000.5/script-reference/unityengine/geometryutility/calculatefrustumplanes.md).

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Detects manually if obj is being seen by the main camera

    GameObject obj;
    Collider objCollider;

    Camera cam;
    Plane[] planes;

    void Start()
    {
        cam = Camera.main;
        planes = GeometryUtility.CalculateFrustumPlanes(cam);
        objCollider =  GetComponent<Collider>();
    }

    void Update()
    {
        if (GeometryUtility.TestPlanesAABB(planes, objCollider.bounds))
        {
            Debug.Log(obj.name + " has been detected!");
        }
        else
        {
            Debug.Log("Nothing has been detected");
        }
    }
}
```

## TestPlanesAABB(Plane\[], Bounds)

Returns true if bounds are inside the plane array.

```csharp
public static bool TestPlanesAABB(Plane[] planes, in Bounds bounds)
```

### Parameters

**** (\[Plane\[]]\(/engine/6000.5/script-reference/unityengine/plane)): **** (\[Bounds]\(/engine/6000.5/script-reference/unityengine/bounds)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

Will return true if the bounding box is inside the planes or intersects any of the planes.

The TestPlanesAABB function uses the Plane array to test whether a bounding box is in the frustum or not.

You can use this function with CalculateFrustrumPlanes to test whether a camera's view contains an object regardless of whether it is rendered or not.

The test is conservative and can give false positive results. A bounding box can intersect the planes outside of the frustum because the planes are infinite and extend beyond the frustum volume. A typical false positive result is produced by a big bounding box near the frustum edge or corner.

Additional Resources: [GeometryUtility.CalculateFrustumPlanes](/engine/6000.5/script-reference/unityengine/geometryutility/calculatefrustumplanes.md).

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Detects manually if obj is being seen by the main camera

    GameObject obj;
    Collider objCollider;

    Camera cam;
    Plane[] planes;

    void Start()
    {
        cam = Camera.main;
        planes = GeometryUtility.CalculateFrustumPlanes(cam);
        objCollider =  GetComponent<Collider>();
    }

    void Update()
    {
        if (GeometryUtility.TestPlanesAABB(planes, objCollider.bounds))
        {
            Debug.Log(obj.name + " has been detected!");
        }
        else
        {
            Debug.Log("Nothing has been detected");
        }
    }
}
```

## TestPlanesAABB(ReadOnlySpan\<Plane>, Bounds)

Returns true if bounds are inside the plane array.

```csharp
public static bool TestPlanesAABB(ReadOnlySpan<Plane> planes, in Bounds bounds)
```

### Parameters

**** (\[ReadOnlySpan\<Plane>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): **** (\[Bounds]\(/engine/6000.5/script-reference/unityengine/bounds)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

Will return true if the bounding box is inside the planes or intersects any of the planes.

The TestPlanesAABB function uses the Plane array to test whether a bounding box is in the frustum or not.

You can use this function with CalculateFrustrumPlanes to test whether a camera's view contains an object regardless of whether it is rendered or not.

The test is conservative and can give false positive results. A bounding box can intersect the planes outside of the frustum because the planes are infinite and extend beyond the frustum volume. A typical false positive result is produced by a big bounding box near the frustum edge or corner.

Additional Resources: [GeometryUtility.CalculateFrustumPlanes](/engine/6000.5/script-reference/unityengine/geometryutility/calculatefrustumplanes.md).

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Detects manually if obj is being seen by the main camera

    GameObject obj;
    Collider objCollider;

    Camera cam;
    Plane[] planes;

    void Start()
    {
        cam = Camera.main;
        planes = GeometryUtility.CalculateFrustumPlanes(cam);
        objCollider =  GetComponent<Collider>();
    }

    void Update()
    {
        if (GeometryUtility.TestPlanesAABB(planes, objCollider.bounds))
        {
            Debug.Log(obj.name + " has been detected!");
        }
        else
        {
            Debug.Log("Nothing has been detected");
        }
    }
}
```
