# ControlContext.Manual

> A manually-managed ControlContext for usage outside of the normal Unity audio system (tests, custom audio system).

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Audio](/engine/6000.5/script-reference/unityengine/audio.md)
* **Assembly:** UnityEngine.AudioModule
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public struct ControlContext.Manual : IDisposable
```

## Remarks

This allows you to drive normally automatic functionality on scriptable processors contained within this [ControlContext](/engine/6000.5/script-reference/unityengine/audio/controlcontext.md). It's currently undefined behaviour to call any APIs from different threads simultaneously, so this can currently only be used for "offline usage".

## Properties

| Property                                                                                      | Description                        |
| --------------------------------------------------------------------------------------------- | ---------------------------------- |
| [context](/engine/6000.5/script-reference/unityengine/audio/controlcontext/manual/context.md) | The context being manually driven. |

## Methods

| Method                                                                                          | Description                                                                                                                                                                                        |
| ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [BeginMix](/engine/6000.5/script-reference/unityengine/audio/controlcontext/manual/beginmix.md) | Begin a mix.                                                                                                                                                                                       |
| [Dispose](/engine/6000.5/script-reference/unityengine/audio/controlcontext/manual/dispose.md)   | Dispose a custom-created [ControlContext](/engine/6000.5/script-reference/unityengine/audio/controlcontext.md).                                                                                    |
| [EndMix](/engine/6000.5/script-reference/unityengine/audio/controlcontext/manual/endmix.md)     | End a previously begun mix, additionally rendering any [RootOutputInstance](/engine/6000.5/script-reference/unityengine/audio/rootoutputinstance.md)s into `result`.                               |
| [Update](/engine/6000.5/script-reference/unityengine/audio/controlcontext/manual/update.md)     | Update and submit any queued commands found on [ControlContext](/engine/6000.5/script-reference/unityengine/audio/controlcontext.md), making them available to the mixing functionality functions. |
