# ProcessorInstance.IControl<TRealtime>

> Base interface for common functionality of controlling a ProcessorInstance.

## Definition

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

```csharp
public interface ProcessorInstance.IControl<TRealtime> where TRealtime : unmanaged, ProcessorInstance.IRealtime
```

## Remarks

Here you can implement any control logic that is required for the realtime, that will run outside of the real-time thread.

All [ProcessorInstance](/engine/6000.6/script-reference/unityengine/audio/processorinstance.md)s must implement this interface to be fully formed, though usually each specific [ProcessorInstance](/engine/6000.6/script-reference/unityengine/audio/processorinstance.md) implements a more specific interface inheriting from this one.

Additional Resources: [GeneratorInstance.IControl\<TRealtime>](/engine/6000.6/script-reference/unityengine/audio/generatorinstance/icontrol1.md)

## Methods

| Method                                                                                                  | Description                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Dispose](/engine/6000.6/script-reference/unityengine/audio/processorinstance/icontrol1/dispose.md)     | Called when the generator is destroyed, after having left the processing thread.                                                                                                                                                                                   |
| [OnMessage](/engine/6000.6/script-reference/unityengine/audio/processorinstance/icontrol1/onmessage.md) | Called immediately from [ControlContext.SendMessage](/engine/6000.6/script-reference/unityengine/audio/controlcontext/sendmessage.md) when a message was sent to this [ProcessorInstance](/engine/6000.6/script-reference/unityengine/audio/processorinstance.md). |
| [Update](/engine/6000.6/script-reference/unityengine/audio/processorinstance/icontrol1/update.md)       | Called if you have subscribed to continuous updates from the control thread, or if there is data returned from the `TRealtime` counterpart.                                                                                                                        |
