# AllocateRootOutput<TRealtime, TControl>(in TRealtime, in TControl, in CreationParameters)

> Allocate a RootOutputInstance with the specified processor and control state.

## Definition

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

## AllocateRootOutput\<T, U>(T, T, CreationParameters)

```csharp
public readonly RootOutputInstance AllocateRootOutput<TRealtime, TControl>(in TRealtime realtimeState, in TControl controlState, in ProcessorInstance.CreationParameters creationParameters = default) where TRealtime : unmanaged, RootOutputInstance.IRealtime where TControl : unmanaged, RootOutputInstance.IControl<TRealtime>
```

### Parameters

**** (T): The initial state available from the control thread.**** (T): The initial state available from the control thread.**** (\[CreationParameters]\(/engine/6000.5/script-reference/unityengine/audio/processorinstance/creationparameters)): Additional parameters and initialization state for the processor.

### Returns

| Type                                                                                          | Description                                                                                                                                                                                                                                                   |
| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [RootOutputInstance](/engine/6000.5/script-reference/unityengine/audio/rootoutputinstance.md) | A [RootOutputInstance](/engine/6000.5/script-reference/unityengine/audio/rootoutputinstance.md) you own and control, that must later be destroyed with [ControlContext.Destroy](/engine/6000.5/script-reference/unityengine/audio/controlcontext/destroy.md). |

### Remarks

[RootOutputInstance](/engine/6000.5/script-reference/unityengine/audio/rootoutputinstance.md)s have low-level acces to the threading model of the audio system and the final audio output, and are generally used to integrate larger internal or external audio systems.
