# Resonance Audio Room & Listener not found

**URL:** <https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929>\
**Category:** Unity\
**Created:** [August 8, 2019, 3:32pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929 "2019-08-08T15:32:39Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wilhelm\_Scream](https://avatars.discourse-cdn.com/v4/letter/w/48db29/32.png) [@Wilhelm\_Scream](https://qa.fmod.com/u/Wilhelm_Scream)\
**Post date:** [August 8, 2019, 3:32pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/1 "2019-08-08T15:32:39Z")

</div>

Hello all.

This is more of a report than an actual question, since I seem to have found a way to prevent/fix it, and I though I should share the whole deal with users and personnel alike. Not sure if the source of the problem lies with FMOD, Unity, or Resonance though.

I was trying to run some tests with the Resonance Audio Rooms, when I came across this in the console:

[**1st message**]  
Resonance Audio Listener not found in the FMOD project.  
UnityEngine.Debug:LogError(Object)  
FmodResonanceAudio:Initialize() (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:235)  
FmodResonanceAudio:get\_ListenerPlugin() (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:132)  
FmodResonanceAudio:UpdateAudioRoom(FmodResonanceAudioRoom, Boolean) (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:49)  
FmodResonanceAudioRoom:OnEnable() (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudioRoom.cs:83)

[**2nd message**]  
[FMOD] assert : assertion: ‘mDescription.mDescription-\>paramdesc[index]-\>type == FMOD\_DSP\_PARAMETER\_TYPE\_DATA’ failed

UnityEngine.Debug:LogError(Object)  
FMODUnity.RuntimeManager:DEBUG\_CALLBACK(DEBUG\_FLAGS, StringWrapper, Int32, StringWrapper, StringWrapper) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:28)  
FMOD.DSP:FMOD5\_DSP\_SetParameterData(IntPtr, Int32, IntPtr, UInt32)  
FMOD.DSP:setParameterData(Int32, Byte[]) (at Assets/Plugins/FMOD/src/Runtime/wrapper/fmod.cs:3132)  
FmodResonanceAudio:UpdateAudioRoom(FmodResonanceAudioRoom, Boolean) (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:49)  
FmodResonanceAudioRoom:OnEnable() (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudioRoom.cs:83)

[**3rd message, repeated every frame**]  
Same as above, only this time the triggering function was, of course, _FmodResonanceAudioRoom:Update()_.

It seemed to me that, for whatever reason, the code initially thinks that there is no listener in the project (even though there definitely is, and everything sounds as it should apart from the issue with the audio room). I noticed that the script uses the function _FmodResonanceAudio.UpdateAudioRoom(this, FmodResonanceAudio.IsListenerInsideRoom(this));_ both in the _Update_ function and in the _OnEnable_ function. I commented out line 83 in the _Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudioRoom.cs_ script, and problem solved, I think because now the listener had time to be visible to the system, before any audio room searched for it for the first time.

P.S.  
Unity version 2018.3.9f1  
FMOD Studio & Integration version 2.00.03

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [August 16, 2019, 4:04am UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/2 "2019-08-16T04:04:26Z")

</div>

Thanks for the feedback, we will look into this.

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [August 21, 2019, 3:23am UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/3 "2019-08-21T03:23:52Z")

</div>

> [@Wilhelm\_Scream](#):
>
> [**1st message**]  
> Resonance Audio Listener not found in the FMOD project.

You are correct, the script isn’t able to find it the first time through because it has not been created yet. The Listener DSP and the bus/channel group it is on won’t exist until a sound on that bus is started, or [`Bus::lockChannelGroup`](https://fmod.com/resources/documentation-api?version=2.0&page=studio-api-bus.html#studio_bus_lockchannelgroup) is used.

There does also appear to be a bug in the `Initialize` code, where it will return the last DSP even if a listener DSP isn’t found.

> [@Wilhelm\_Scream](#):
>
> [**2nd message**]  
> [FMOD] assert : assertion: ‘mDescription.mDescription-\>paramdesc[index]-\>type == FMOD\_DSP\_PARAMETER\_TYPE\_DATA’ failed

I’m not sure why this would be happening, do you have any steps for reproducing this issue?

---

<div class="post-metadata">

**Author:** ![Wilhelm\_Scream](https://avatars.discourse-cdn.com/v4/letter/w/48db29/32.png) [@Wilhelm\_Scream](https://qa.fmod.com/u/Wilhelm_Scream)\
**Post date:** [August 21, 2019, 11:31am UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/4 "2019-08-21T11:31:09Z")

</div>

Thank you for looking into it!

> [@cameron-fmod](#):
>
> I’m not sure why this would be happening, do you have any steps for reproducing this issue?

I am not exactly sure either. It _had_ happened once again in the past though, with an older version of FMOD (1.10.xx), but I remember being equally perplexed back then as to why it could not find the listener. I have been trying to think if there is anything in particular about these projects (Unity & FMOD) that might cause this, but I cannot think of anything.

Sorry I couldn’t help further, and thank you all again for the marvelous work you’ve been doing! =)

---

<div class="post-metadata">

**Author:** ![jessekirbs](https://avatars.discourse-cdn.com/v4/letter/j/6de8d8/32.png) [@jessekirbs](https://qa.fmod.com/u/jessekirbs)\
**Post date:** [October 16, 2021, 7:00pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/5 "2021-10-16T19:00:20Z")

</div>

I’m experiencing this same issue here with the same error messages.

To reproduce:

1. Create an FMOD project with a Resonance Audio Source and an Audio Listener.
2. Build all banks.
3. Add ‘resonanceaudio’ as Dynamic Plugin in FMOD Settings.
4. Play project in Unity and audio should work with no error messages.
5. Add an empty object with the FmodResonanceAudioRoom script and play again.
6. See errors in console.

Was this ever solved? Thanks!

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [November 9, 2021, 4:13am UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/6 "2021-11-09T04:13:38Z")

</div>

It looks like this hasn’t been fixed yet, possibly got missed, but I will give it a bump to see if we can fix it in an upcoming release.

In the meantime, you can work around this by calling [`Bus::lockChannelGroup`](https://fmod.com/resources/documentation-api?version=2.02&page=studio-api-bus.html#studio_bus_lockchannelgroup) on the specific bus that contains the Resonance listener before the `FmodResonanceAudioRoom` objects are enabled. This will ensure that the bus is created before the Resonance code goes looking into them.

---

<div class="post-metadata">

**Author:** ![Stealcase](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/stealcase/32/3406_2.png) [@Stealcase](https://qa.fmod.com/u/Stealcase)\
**Post date:** [December 3, 2021, 3:42pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/7 "2021-12-03T15:42:21Z")

</div>

Thanks for the sollution cameron!

Here’s the most minimal code in Unity to make it work until a fix is available.

Currently on version 2.02.04

```auto
public class ResonanceRoomHotfix : MonoBehaviour {
void Awake()
    {
        var resonanceBus = FMODUnity.RuntimeManager.GetBus("bus:/{YourResonanceBusNameHere}");
        resonanceBus.lockChannelGroup();
    }
}

```

---

<div class="post-metadata">

**Author:** ![agnardavid](https://avatars.discourse-cdn.com/v4/letter/a/c77e96/32.png) [@agnardavid](https://qa.fmod.com/u/agnardavid)\
**Post date:** [December 31, 2021, 6:54pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/8 "2021-12-31T18:54:19Z")

</div>

and put it where exactly?

---

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [January 6, 2022, 12:29am UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/9 "2022-01-06T00:29:11Z")

</div>

As per @Stealcase’s suggestion, adding

> [@Stealcase](#):
>
> ```auto
> var resonanceBus = FMODUnity.RuntimeManager.GetBus("bus:/{YourResonanceBusNameHere}");
> resonanceBus.lockChannelGroup();
> 
> ```

in a `void Awake()` event function in any script should be a sufficient workaround for now.

---

<div class="post-metadata">

**Author:** ![agnardavid](https://avatars.discourse-cdn.com/v4/letter/a/c77e96/32.png) [@agnardavid](https://qa.fmod.com/u/agnardavid)\
**Post date:** [January 9, 2022, 2:38pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/10 "2022-01-09T14:38:58Z")

</div>

That was not my question, where should it be in Unity?

---

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [January 10, 2022, 9:47pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/11 "2022-01-10T21:47:19Z")

</div>

I am sorry I do not understand your question, can you please rephrase? Do you mean where do you put the workaround script in Unity? If that is the case you need to put it on any game object in the scene.  
Here is the workaround in more detail:

1. Create a [new script in Unity](https://docs.unity3d.com/Manual/CreatingAndUsingScripts.html)
2. Add the following code to the script, replacing “bus:/{YourResonanceBusNameHere}” with the path to your bus containing the resonance audio listener. You can find the name of your bus by right clicking on it in the FMOD Studio Mixer window and selecting “Copy Path”

```auto
void Awake()
{
    var resonanceBus = FMODUnity.RuntimeManager.GetBus("bus:/{YourResonanceBusNameHere}");
    resonanceBus.lockChannelGroup();
}

```

1. Attach the script to any game object in the scene by dragging the script onto it
2. Play the scene and the issue should no longer occur

---

<div class="post-metadata">

**Author:** ![jessekirbs](https://avatars.discourse-cdn.com/v4/letter/j/6de8d8/32.png) [@jessekirbs](https://qa.fmod.com/u/jessekirbs)\
**Post date:** [January 21, 2022, 8:27am UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/12 "2022-01-21T08:27:02Z")

</div>

Hey @jeff_fmod - thanks for explaining this in greater detail. Can you give an example of what a path to a bus containing the resonance audio listener would look like? Or how to identify the path? Appreciate it!

---

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [January 23, 2022, 10:36pm UTC](https://qa.fmod.com/t/resonance-audio-room-listener-not-found/14929/13 "2022-01-23T22:36:46Z")

</div>

In FMOD Studio you can identify buses containing a resonance audio listener by running a query in the Mixer search bar. Typing `#query:(Plugin.identifier == "Resonance Audio Listener")` will filter all the buses containing a Resonance Audio Listener. For example, in this project the Resonance Audio Listener is on the SFX and VO buses:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/1/116e0d1038a40d605db0b2ecf6874afd7f03268f.png)

Running the query returns all buses containing the a Resonance Audio Listener:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/8/8d37371fc170fa8ff344e4d3d94571753ac5a8ff.png)

Copying the path for either of these buses will put `bus:/SFX` or `bus:/VO` in your clipboard respectively.

In Unity, to determine if a bus contains a plugin instance is less straightforward. You would need to perform a linear search from the master bus and down to any child buses for any instances of the “Resonance Audio Listener” dsp. Here is a [basic example](https://qa.fmod.com/t/how-to-access-and-manipulate-effects-in-an-event-at-runtime/18135/2) of how you do this on an event instance which should be a good starting point.
