# SendMessage<T>(ProcessorInstance, ref T)

> Send a message with a piece of data to be immediately evaluated by the ProcessorInstance.IRealtime.OnMessage on the real-time side.

## Definition

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

## SendMessage\<T>(ProcessorInstance, T)

```csharp
public readonly ProcessorInstance.Response SendMessage<T>(ProcessorInstance processorInstance, ref T message) where T : unmanaged
```

### Parameters

**** (\[ProcessorInstance]\(/engine/6000.7/script-reference/unityengine/audio/processorinstance)): **** (T):&#x20;

### Returns

| Type                                                                                        | Description                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Response](/engine/6000.7/script-reference/unityengine/audio/processorinstance/response.md) | [ProcessorInstance.Response.Handled](/engine/6000.7/script-reference/unityengine/audio/processorinstance/response/handled.md) if `processorInstance` acknowledged and processed the message, [ProcessorInstance.Response.Unhandled](/engine/6000.7/script-reference/unityengine/audio/processorinstance/response/unhandled.md) if not or ignored. |

### Remarks

This is the real-time counterpart of [ControlContext.SendMessage](/engine/6000.7/script-reference/unityengine/audio/controlcontext/sendmessage.md): it dispatches synchronously to the `processorInstance`'s [ProcessorInstance.IRealtime](/engine/6000.7/script-reference/unityengine/audio/processorinstance/irealtime.md) implementation from within this [RealtimeContext](/engine/6000.7/script-reference/unityengine/audio/realtimecontext.md). The `message` is passed by reference, so the `processorInstance` can modify it.
