I’m currently integrating FMOD Studio to our engine and working on sounds 3D positioning at the moment. There is a problem with setting up listener 3D position and I’d appreciate some assistance from you to deal with it.

We support multi-listener environment for split-screen mode, so I’d want to pass the listener ID to the function that receives 3D attributes, and the first thing is that Studio::System::setListenerAttributes doesn’t have the ID in it’s arguments list and it seems that on Studio level there is no certain way to specify which listener attributes are meant to be set up.

If I see it right, the low level system function System::set3DListenerAttributes is supposed to be used for this purposes, and I’ve tried to set listener attributes with it, but despite System::get3DListenerAttributes retuns correct values (those that were passed to the ‘set’ function) after setting them, the ‘set’ function doesn’t have any influence on the actual listener position as the playing sound stays exactly the same as it was before calling System::set3DListenerAttributes. Meanwhile if Studio::System::setListenerAttributes is used with the same parameters, there are some reasonable changes in panning of playing sound and it’s obvious that listener position was changed. So it seems that System::set3DListenerAttributes doesn’t work properly or I need some clarification on how to make it work the right way.

In order to make sure that System::set3DListenerAttributes doesn’t alter listener’s position, I’ve opened studio API examples solution and changed listener setup in 3D example using System::set3DListenerAttributes. I’ve also changed logic that moves vehicle engine event position when arrow keys are pressed to move the listener rather than event and it works with Studio::System::setListenerAttributes, but doesn’t with System::set3DListenerAttributes.

To sum up, there are two actual questions: how can I specify what listener to set up on studio API level? And if I have to use the low level function for this, how to make it work properly?


Viktor Korytko
Saber Interactive Inc

we are using 1.05.11 API version currently

  • You must to post comments
Best Answer

Hi Viktor,
Studio does not currently support multiple listeners, and the low level API functions cannot be used to control Studio events.

Adding support for multiple listeners has been on the list for quite a while. Could you follow up with to discuss your requirements for when you need the feature?


  • You must to post comments

Hey, Geoff

I think we can live with one listener for a while. If this issue become urgent, we’ll contact the support.



  • You must to post comments
Showing 2 results
Your Answer

Please first to submit.