# cullingMatrix

> Sets a custom matrix for the camera to use for all culling queries.

## Definition

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

```csharp
public Matrix4x4 cullingMatrix { get; set; }
```

### Remarks

This lasts until it is disabled by calling [Camera.ResetCullingMatrix](/engine/6000.7/script-reference/unityengine/camera/resetcullingmatrix.md).

A custom culling matrix can be useful in situations where multiple cameras must be culled identically in order to render effects such as reflections.

### Examples

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

public class ExampleClass : MonoBehaviour
{
    Camera cullingCamera;

    void Awake()
    {
        cullingCamera = gameObject.AddComponent<Camera>();
        SetMainCameraCustomCullingMatrix(new Vector3(10.0f, 10.0f, 10.0f), Vector3.zero);
    }

    void SetMainCameraCustomCullingMatrix(Vector3 cameraPosition, Vector3 lookAtPosition)
    {
        transform.position = cameraPosition;
        transform.LookAt(lookAtPosition);
        Camera.main.cullingMatrix = cullingCamera.projectionMatrix * cullingCamera.worldToCameraMatrix;
    }

    void ResetMainCameraCullingMatrix()
    {
        Camera.main.ResetCullingMatrix();
    }
}
```
