# LightProbes

> Stores light probe data for all currently loaded Scenes.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule
* **Inherits from:** [Object](/engine/6000.6/script-reference/unityengine/object.md)

```csharp
public sealed class LightProbes : Object
```

## Remarks

The data includes: probe positions, Spherical Harmonics (SH) coefficients and the tetrahedral tessellation.

You can modify the probe positions and coefficients, and update the tetrahedral tessellation at runtime. You can also swap the entire `LightProbes` object for a different pre-baked one using [LightmapSettings.lightProbes](/engine/6000.6/script-reference/unityengine/lightmapsettings/lightprobes.md).

To retrieve the `LightProbes` objects for a specific scene, use [LightProbes.GetInstantiatedLightProbesForScene](/engine/6000.6/script-reference/unityengine/lightprobes/getinstantiatedlightprobesforscene.md) or [LightProbes.GetSharedLightProbesForScene](/engine/6000.6/script-reference/unityengine/lightprobes/getsharedlightprobesforscene.md).

Additional Resources: [Light Probes in the Unity Manual](/engine/6000.6/script-reference/unityengine/lightprobes.md), [LightmapSettings](/engine/6000.6/script-reference/unityengine/lightmapsettings.md), [ReceiveGI](/engine/6000.6/script-reference/unityengine/receivegi.md).

## Properties

| Property                                                                                  | Description                                                                          |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [bakedProbes](/engine/6000.6/script-reference/unityengine/lightprobes/bakedprobes.md)     | Coefficients of baked light probes.                                                  |
| [cellCount](/engine/6000.6/script-reference/unityengine/lightprobes/cellcount.md)         | The number of cells space is divided into (Read Only).                               |
| [cellCountSelf](/engine/6000.6/script-reference/unityengine/lightprobes/cellcountself.md) | The number of cells space is divided into for this `LightProbes` object (Read Only). |
| [count](/engine/6000.6/script-reference/unityengine/lightprobes/count.md)                 | The number of light probes (Read Only).                                              |
| [countSelf](/engine/6000.6/script-reference/unityengine/lightprobes/countself.md)         | The number of light probes stored in this `LightProbes` object (Read Only).          |
| [positions](/engine/6000.6/script-reference/unityengine/lightprobes/positions.md)         | Positions of the baked light probes (Read Only).                                     |

## Methods

| Method                                                                                          | Description                                                                       |
| ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [GetPositionsSelf](/engine/6000.6/script-reference/unityengine/lightprobes/getpositionsself.md) | Gets the positions of the baked light probes stored in this `LightProbes` object. |
| [SetPositionsSelf](/engine/6000.6/script-reference/unityengine/lightprobes/setpositionsself.md) | Sets the positions of the baked light probes stored in this `LightProbes` object. |

## Static Methods

| Method                                                                                                                                                  | Description                                                                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [CalculateInterpolatedLightAndOcclusionProbes](/engine/6000.6/script-reference/unityengine/lightprobes/calculateinterpolatedlightandocclusionprobes.md) | Calculate light probes and occlusion probes at the given world space positions.                          |
| [GetInstantiatedLightProbesForScene](/engine/6000.6/script-reference/unityengine/lightprobes/getinstantiatedlightprobesforscene.md)                     | Gets an instantiated clone of the `LightProbes` object for a specific scene.                             |
| [GetInterpolatedProbe](/engine/6000.6/script-reference/unityengine/lightprobes/getinterpolatedprobe.md)                                                 | Returns an interpolated probe for the given position for both real-time and baked light probes combined. |
| [GetSharedLightProbesForScene](/engine/6000.6/script-reference/unityengine/lightprobes/getsharedlightprobesforscene.md)                                 | Gets the shared `LightProbes` object for a specific scene.                                               |
| [Tetrahedralize](/engine/6000.6/script-reference/unityengine/lightprobes/tetrahedralize.md)                                                             | Synchronously tetrahedralize the currently loaded LightProbe positions.                                  |
| [TetrahedralizeAsync](/engine/6000.6/script-reference/unityengine/lightprobes/tetrahedralizeasync.md)                                                   | Asynchronously tetrahedralize all currently loaded LightProbe positions.                                 |

## Static Events

| Member                                                                                                                | Description                                                                                                                                                                                                                                                                                           |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [lightProbesUpdated](/engine/6000.6/script-reference/unityengine/lightprobes/lightprobesupdated.md)                   | Unity raises this event to indicate that the light probe structure (tetrahedralization) or values (spherical harmonics coefficients) have changed.                                                                                                                                                    |
| [needsRetetrahedralization](/engine/6000.6/script-reference/unityengine/lightprobes/needsretetrahedralization.md)     | An event which is called when the number of currently loaded light probes changes due to additive scene loading or unloading.                                                                                                                                                                         |
| [tetrahedralizationCompleted](/engine/6000.6/script-reference/unityengine/lightprobes/tetrahedralizationcompleted.md) | Event which is called after [LightProbes.Tetrahedralize](/engine/6000.6/script-reference/unityengine/lightprobes/tetrahedralize.md) or [LightProbes.TetrahedralizeAsync](/engine/6000.6/script-reference/unityengine/lightprobes/tetrahedralizeasync.md) has finished computing a tetrahedralization. |

## Inheritance

**Inherited Members:**

* [Object.GetEntityId()](/engine/6000.6/script-reference/unityengine/object/getentityid.md)
* [Object.GetHashCode()](/engine/6000.6/script-reference/unityengine/object/gethashcode.md)
* [Object.InstantiateAsync\<T>(T)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Transform)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Vector3, Quaternion)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Transform, Vector3, Quaternion)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Vector3, Quaternion)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, Vector3, Quaternion)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Transform, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, InstantiateParameters, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, InstantiateParameters, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.InstantiateAsync\<T>(T, int, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Quaternion>, InstantiateParameters, CancellationToken)](/engine/6000.6/script-reference/unityengine/object/instantiateasync.md)
* [Object.Instantiate(Object, Vector3, Quaternion)](/engine/6000.6/script-reference/unityengine/object/instantiate.md#instantiate\(object-vector3-quaternion\))
* [Object.Instantiate(Object, Vector3, Quaternion, Transform)](/engine/6000.6/script-reference/unityengine/object/instantiate.md#instantiate\(object-vector3-quaternion-transform\))
* [Object.Instantiate(Object)](/engine/6000.6/script-reference/unityengine/object/instantiate.md#instantiate\(object\))
* [Object.Instantiate(Object, Scene)](/engine/6000.6/script-reference/unityengine/object/instantiate.md#instantiate\(object-scene\))
* [Object.Instantiate\<T>(T, InstantiateParameters)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Vector3, Quaternion, InstantiateParameters)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate(Object, Transform)](/engine/6000.6/script-reference/unityengine/object/instantiate.md#instantiate\(object-transform\))
* [Object.Instantiate(Object, Transform, bool)](/engine/6000.6/script-reference/unityengine/object/instantiate.md#instantiate\(object-transform-bool\))
* [Object.Instantiate\<T>(T)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Vector3, Quaternion)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Vector3, Quaternion, Transform)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Transform)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Instantiate\<T>(T, Transform, bool)](/engine/6000.6/script-reference/unityengine/object/instantiate.md)
* [Object.Destroy(Object, float)](/engine/6000.6/script-reference/unityengine/object/destroy.md)
* [Object.DestroyImmediate(Object, bool)](/engine/6000.6/script-reference/unityengine/object/destroyimmediate.md)
* [Object.FindObjectsByType(Type)](/engine/6000.6/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytype\(type\))
* [Object.FindObjectsByType(Type, FindObjectsInactive)](/engine/6000.6/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytype\(type-findobjectsinactive\))
* [Object.DontDestroyOnLoad(Object)](/engine/6000.6/script-reference/unityengine/object/dontdestroyonload.md)
* [Object.FindAnyObjectByType\<T>()](/engine/6000.6/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytypet\(\))
* [Object.FindAnyObjectByType\<T>(FindObjectsInactive)](/engine/6000.6/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytypet\(findobjectsinactive\))
* [Object.FindObjectsByType\<T>()](/engine/6000.6/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytypet\(\))
* [Object.FindObjectsByType\<T>(FindObjectsInactive)](/engine/6000.6/script-reference/unityengine/object/findobjectsbytype.md#findobjectsbytypet\(findobjectsinactive\))
* [Object.FindAnyObjectByType(Type)](/engine/6000.6/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytype\(type\))
* [Object.FindAnyObjectByType(Type, FindObjectsInactive)](/engine/6000.6/script-reference/unityengine/object/findanyobjectbytype.md#findanyobjectbytype\(type-findobjectsinactive\))
* [Object.ToString()](/engine/6000.6/script-reference/unityengine/object/tostring.md)
* [Object.name](/engine/6000.6/script-reference/unityengine/object/name.md)
* [Object.hideFlags](/engine/6000.6/script-reference/unityengine/object/hideflags.md)

### Operators

| Operator                                                                           | Description                                                             |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [operator ==](/engine/6000.6/script-reference/unityengine/object/op-equality.md)   | Compares two object references to see if they refer to the same object. |
| [bool](/engine/6000.6/script-reference/unityengine/object/op-implicit.md)          | Determines whether the object exists.                                   |
| [operator !=](/engine/6000.6/script-reference/unityengine/object/op-inequality.md) | Compares if two objects refer to a different object.                    |
