> For the complete documentation index, see [llms.txt](https://sniveler-code.gitbook.io/dots/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sniveler-code.gitbook.io/dots/audio-dispatcher-fmod/1.-introduction.md).

# 1. Introduction

**Advanced Audio Dispatcher for DOTS** is a high-performance, thread-safe, and zero-GC bridge between Unity's Data-Oriented Technology Stack (DOTS) and the native FMOD Studio C-API.

{% embed url="<https://youtu.be/cIGFI-eBLuA>" %}

Built specifically for Entities 1.0+ and the Burst Compiler, this asset allows you to dispatch thousands of audio events directly from your `IJobEntity` systems without allocating a single byte of managed memory.

**Key Features:**

* **Zero GC Allocations:** 100% unmanaged data structures.
* **Burst Compatible:** Dispatch audio commands from any background worker thread.
* **Automatic Lifecycle:** Looping sounds automatically track entity positions and clean themselves up when the target entity is destroyed.
* **Asynchronous Occlusion:** Built-in, multi-threaded raycast occlusion that doesn't block the Main Thread.

#### Why this asset?

The official FMOD Unity integration is fantastic for traditional OOP projects, but it relies heavily on `MonoBehaviour`, managed strings, and Main Thread execution. Using it in a DOTS project forces you to break the ECS paradigm, leading to thread locks and garbage collection spikes.

**Audio Dispatcher** solves this by bypassing the official C# wrapper entirely. It communicates directly with the raw FMOD native binaries (`fmodstudioL.dll`), providing a pure ECS architecture designed for AA/AAA performance.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sniveler-code.gitbook.io/dots/audio-dispatcher-fmod/1.-introduction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
