# IScriptableRuntimeReflectionSystem

> Defines the required members for a Runtime Reflection Systems.

## Definition

* **Type:** Interface
* **Namespace:** [UnityEngine.Experimental.Rendering](/engine/6000.7/script-reference/unityengine/experimental/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public interface IScriptableRuntimeReflectionSystem : IDisposable
```

## Remarks

You can use the empty implementation as base class, see [ScriptableRuntimeReflectionSystem](/engine/6000.7/script-reference/unityengine/experimental/rendering/scriptableruntimereflectionsystem.md).

## Examples

```csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.Rendering;

abstract class CustomRuntimeReflectionSystem : IScriptableRuntimeReflectionSystem
{
    List<ReflectionProbe> m_RealtimeReflectionProbes = new List<ReflectionProbe>();
    List<RenderTexture> m_RealtimeReflectionProbeTargets = new List<RenderTexture>();

    public bool TickRealtimeProbes()
    {
        for (int i = 0, c = m_RealtimeReflectionProbes.Count; i < c; ++i)
        {
            var probe = m_RealtimeReflectionProbes[i];
            var target = m_RealtimeReflectionProbeTargets[i];

            RenderProbe(probe, target);

            probe.realtimeTexture = target;
        }

        return true;
    }

    protected abstract void RenderProbe(ReflectionProbe probe, RenderTexture target);
    public abstract void Dispose();
}
```

## Methods

| Method                                                                                                                                            | Description                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [TickRealtimeProbes](/engine/6000.7/script-reference/unityengine/experimental/rendering/iscriptableruntimereflectionsystem/tickrealtimeprobes.md) | Update the reflection probes. |

## Inheritance

**Inherited Members:**

* [IDisposable.Dispose()](https://learn.microsoft.com/dotnet/api/system.idisposable.dispose)
