# RootOutputInstance.IControl<TRealtime>

> The control interface an implementation of a RootOutputInstance must implement on a struct to be fully formed.

## Definition

* **Type:** Interface
* **Namespace:** [UnityEngine.Audio](/engine/6000.7/script-reference/unityengine/audio.md)
* **Assembly:** UnityEngine.AudioModule

```csharp
[JobProducerType(typeof(IRootOutputControlExtensions.JobStruct<,>))]
public interface RootOutputInstance.IControl<TRealtime> : ProcessorInstance.IControl<TRealtime> where TRealtime : unmanaged, ProcessorInstance.IRealtime
```

## Remarks

The control side of a [ProcessorInstance](/engine/6000.7/script-reference/unityengine/audio/processorinstance.md) receives various callbacks from a [ControlContext](/engine/6000.7/script-reference/unityengine/audio/controlcontext.md) from the logical control thread. You can annotate this with [BurstCompileAttribute](/engine/6000.7/script-reference/unity/burst/burstcompileattribute.md) to have it compiled with Burst.

Additional Resources: [ProcessorInstance.IControl\<TRealtime>](/engine/6000.7/script-reference/unityengine/audio/processorinstance/icontrol1.md)

## Inheritance

**Inherited Members:**

* [IControl\<T>.Dispose(ControlContext, T)](/engine/6000.7/script-reference/unityengine/audio/processorinstance/icontrol1/dispose.md)
* [IControl\<T>.Update(ControlContext, Pipe)](/engine/6000.7/script-reference/unityengine/audio/processorinstance/icontrol1/update.md)
* [IControl\<T>.OnMessage(ControlContext, Pipe, Message)](/engine/6000.7/script-reference/unityengine/audio/processorinstance/icontrol1/onmessage.md)
