Oculus spatializer in FMOD

Hi FMOD,

This might be the wrong forum to ask for support on this - but I’m having trouble with the Oculus spatializer inside of FMOD.

What I’ve noticed is that the Oculus spatializer has a very steep ramp in volume when you reach a certain distance. It’s around a +10dB change. There aren’t any options I can find to adjust this and it doesn’t provide any scale selection (unlike the FMOD spatializer). The only options are ‘Attenuation - ON or OFF’, radius, and a min & max distance 0.00 to 10k. The ramp is just very sudden. Their documentation says:

“Set to On to enable the internal distance attenuation model. If attenuation is disabled, you can create a custom attenuation curve using a volume automation on a distance parameter.”

Does this mean I have to make a curve in volume automation with an FMOD distance parameter myself?

As you have guessed, the Oculus Spatializer is a plug-in maintained by Oculus, so we at Firelight Technologies are unable to make changes to how it works.

I believe your interpretation of the Oculus Spatializer documentation is correct: Turning off the effect’s built-in distance attenuation will mean that the spatializer no longer attenuates or boosts the signal volume based on distance, forcing you to rely on custom attention curves.

If you want to re-use a custom attenuation curve and spatializing effect in multiple events, we reccomend automating the volume of a gain effect, and placing both the gain effect and the spatializing effect in the same preset effect chain.

Hi Joseph,

Thank you for your response - really appreciate the assistance considering it is another company’s plug-in.

I will give this a try - thanks for the suggestion.

Cheers

I’m fairly new to FMOD and can’t implement this properly, could someone explain the steps?

Or if there’s a way to use the default spatializer on the Quest2 Unity 2021, it didn’t seem to work above/below the headset, only horizontally.

To create an effect chain:

  1. Select “Window > Preset Browser” to open the preset browser window.
  2. Click on the Effects tab to view your project’s preset effects in the effects browser.
  3. Right-click on an empty space in the browser and select “New Preset > New Effect Chain” from the context menu to create a new preset effect chain.
  4. The new effect chain should be displayed in the effects browser’s deck. To add a new effect to this effect chain, right click on it and select “Insert Effect” from the context menu.

Alternatively, if you already have an existing preset effect and want to make it part of an effect chain:

  1. Select “Window > Preset Browser” to open the preset browser window.
  2. Click on the Effects tab to view your project’s preset effects in the effects browser.
  3. Right-click on the chosen preset effect in the browser and select “Wrap in Effect Chain” from the context menu to convert that preset effect into a new preset effect chain containing the effect.

Once you have created an effect chain, you can use it in any signal chain in your project by ensuring that signal chain is displayed in the deck of the event editor window or mixer window, then dragging the preset effect chain from the preset browser window to the signal chain in the event editor window or mixer window.

1 Like

Many thanks, got it working! Should I still match the Min & Max Distance in the oculus spatializer with the distance range? I’ll also need to create a new effect chain for each unique range right?

edit: Oh and setting the far end of the distance curve to -oo (or is that an infinity symbol?) like that seems to make it lose volume too quickly. Setting it to -75dB sounds better, any downsides to this? It’s practically silent at that point I think?

If you’ve disabled the Oculus Spatializer effect’s attenuation, that effect’s Min & Max distance properties don’t actually do anything any more, and can be safely ignored.

Just set the gain effect’s automation curve up the way you like it. Whether it matches the Oculus Effect’s min & max distance is irrelevant.

Yes, each unique combination of effect property values and automation curves will require a separate preset effect chain.

Setting the maximum attenuation to -75 dB means that your events will never reach the default vol0virtualvol threshhold. This isn’t a huge issue in itself, but does mean that FMOD’s virtual voice system will only virtualize events as a result of voice stealing, which may increase the memory and CPU footprint of your game. In addition, if the events at maximum attenuation are actually still audible to human listeners, human listeners may notice them popping in and out when they’re virtualized or un-virtualized.

Other than those issues, there should be no disadvantages to setting the maximum attenuation of events to -75 dB instead of -oo dB.

1 Like