# ⚙️ 2. Getting Started

#### Installation

{% embed url="<https://youtu.be/WYzMlvAjTD0>" %}

> 🛑 **CRITICAL WARNING:** Do NOT import the full official FMOD Unity package into your DOTS project. It will clutter your project with unnecessary `MonoBehaviours` and cause compilation conflicts.

**Step 1: Get the Native Libraries**

1. Download the official **FMOD for Unity** package from fmod.com.
2. Import the `.unitypackage` into your Unity project.
3. In the Import Window, click **"None"**, and **ONLY check the `Plugins` folder**. Uncheck `Scripts`, `Editor`, and everything else.

**Step 2: Install Audio Dispatcher**

1. Open **Window -> Package Manager**.
2. Click the **+** icon and select **Add package from tarball...**
3. Select the `com.snivelercode.audio-dispatcher.fmod-1.0.0.tgz` file.

#### Project Settings

Once installed, navigate to `Edit -> Project Settings -> SnivelerCode`.\
Here you can configure the core behavior of the audio engine:

* **Max Channels:** Hardware voice limit (default is 256. Lower to 64-128 for mobile).
* **Occlusion Layer Mask:** Define which physics layers block sound.
* **Generated Code Path:** Where the tool will save your generated C# IDs.

#### Bank Synchronization

1. Build your FMOD Studio project and export the `.bank` and `.strings.bank` files.
2. Drag and drop them anywhere into your Unity project.
3. Create an empty `GameObject` in your `SubScene` and attach the **`Fmod Sounds Library Authoring`** component.
4. The system will automatically detect your banks, copy them to `StreamingAssets`, and generate safe, stringless `ulong` IDs for all your events, buses, and parameters.


---

# Agent Instructions: 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:

```
GET https://sniveler-code.gitbook.io/dots/audio-dispatcher-fmod/2.-getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
