Validate FMod Project with Meta Plug-ins

I am working on an ambisonic environment and am using the Meta Ambisonics plug-in. Everything sounds OK but when I click the validate option to check for errors, FMod flags the Meta plug-ins as ‘invalid components’. I don’t want to opt for ‘repair’ because I need the Meta plug-ins for the ambisonic implementation. Is this something I need to worry about - will it create issues when integrated with Unity (using the Meta Audio SDK), or can I ignore this?

Just one more query, I’m using the Meta ambisonic plug-in on each track but there is no guidance on the Meta site regarding the use of spatialisers on the master track when working with ambisonics. The FMod spatialiser seems to work well with the Meta ambisonic plug-ins on each track but the Meta spatialiser sounds strange. I’m not using the Meta sound source plug-in because this is an environment rather than an individual sound source. I know you don’t offer tech support for Meta plug-ins but I want to check that the FMod spatialiser can work with the Meta ambisonic plug-in when used together. Thanks.

I haven’t been able to reproduce this issue on my end. What versions of FMOD Studio and the Meta XR Plugins are you using?

The FMOD spatializer will work fine with the signal output by the Meta Ambisonics plugin for the purposes of panning and/or distance attenuation. The only thing worth noting is that the FMOD spatializer will respect channel/speaker positions when an event is up close to a listener, but will collapse the signal to mono when it is further away. When the downmix to mono occurs depends on the distance from the listener, and the envelopment settings. I would recommend reading over the sections on extent/direction in the effect reference on the panner/spatializer for more information.

Thank you for your reply Leah. I’m using FMod version 2.02.22 and the latest Meta plug-ins - 66.0. I followed all the Oculus guidance regarding plug-in set-up and everything seems to be working in FMod, it’s just the validate message that’s the issue, but I’m concerned this will cause issues down the line when integrating with Unity.

Normally I create 2D events without spatialisation but as there are 3 environments close together I thought 3D events would allow greater control in terms of distance attenuation, so that I can prevent fading to 0 at maximum distance (using the FMod spatialiser). Most layers are ambisonic with the Meta ambisonics plug-in on each track but I’m also using scatterers for randomised spots and I have put the meta soundsource on those tracks to send the output to the Meta reverb unit in the session mix, which sounds warmer than the default reverb unit in FMod. I realise this isn’t the usual approach and I’m wondering if that is causing an issue. I have contacted Meta but they didn’t really help. The requirement of the Meta soundsource plug-in to receive 1 channel only is proving to be a bit of an issue for more complex spatialised game audio designs. Thank you.

After double checking with the correct versions, I still haven’t been able to reproduce the issue on my end. Do you receive any additional information besides the the Meta components are “invalid” from either the validation prompt, or from the Console’s logging tab?

If possible, can I get you to upload your project (or a stripped down version where you can reproduce the issue) to your FMOD profile for me to take a closer look at? It should help me diagnose the issue, and I’ll be able to better understand how you’ve set up the events where you’re using Meta plugins with spatialization.

Hello Leah,

I’m not getting the message any more - I had two builds, one for desktop and the other for Mobile. They were combined in one session, but I separated out the two builds as separate sessions and the validate issue disappeared. I also changed the output to headphones for both whereas before the desktop version had been 5.1. So it seems to be resolved.

We’ve never worked with the Meta plug-ins before and having worked on the prototypes we still have some questions about their application in environments. I’ve contacted Meta support twice but they keep closing the ticket without answering! I wondered if you might be able to help.

  • In environment events can the Meta sound source plug-in be used on an individual track other than the master in conjunction with a scatterer instrument? (No meta plug-ins on the master)

  • If creating 2D or 3D event environments with a loop and randomised spot SFXs and not using ambisonics (and the associated ambisonic Meta plug-in) what should the meta plug-in set-up be, because an environment isn’t exactly a sound source and aside from the ambisonic plug-in, there doesn’t seem to be anything else offered (other than the mix meta reverb) for spatialisation? So, if an environment event is designed without any meta plug-ins, other than the Meta reverb…presumably it wouldn’t sound spatialised on the Meta Quest 3?

  • If creating mutiple environments in close proximity would you recommend creating 2D or 3D environments for VR? We’re intending to use lots of monaural sources within the environment for immersion but we also want a global environment playing alongside…that feels like part of the immersive game world.

*When building for desktop rather than mobile, what would FMod recommend as the minimal quality setting (using vorbis)?

I can send a sharing link to the draft prototypes via my profile, provided this isn’t accessible via the forum. Thanks for your help Leah.

Happy to hear that it’s no longer an issue - if it pops up again, feel free to let us know.

The Meta sound source plugin appears to mix input audio down to mono, so if you wanted to use it to spatialize audio from a scatterer instrument that is already panning the audio assets it’s playing, the sound source plugin wouldn’t preserve the panned scatterer instrument audio. Aside from that, they can be used in conjuction on non-master audio tracks.

The mix of looping and spot SFX and the fact that the Sound Source plugin downmixes inputs to mono makes it difficult to create singular events that are audio “environments” that also have individual elements subject to spatialization.

I think the best solution to your desired behavior would be to set up your spot SFX as individual events, each with their own Meta sound source plugins, to be placed in 3D space and played in engine so that they can be spatialized (with HRTF etc.) individually. You can then use the Meta reflections plugin to in your mixer to have each source be subject to Meta’s reflections/acoustics.

This isn’t something I can give strict advice on, since it’s matter of overall audio design (i.e important vs less important sounds), and to an extent, resource overhead and labour needed for implementation. That said, I would say it depends on the exact “level of detail” of the spatialization desired for your sounds - generally, a combination of more important spatialized audio that requires a presence in 3D space, alongside a “global environment” consisting of sounds that are more ambient and less important, isn’t a bad place to start.

This is also a difficult question to answer, as it depends heavily on your project and game, of which you’re the best judge. The Platform Details section of the FMOD Engine docs contain brief performance references for each platform, which may be helpful, but in general I would recommend using higher quality settings initially, and then adjusting them as needed down the line if/when you run into issues with CPU overhead or memory consumption.

Recording a profiler session in Studio via Live Update should be helpful in diagnosing any issues if they come up.

I don’t think it’s necessary anymore, given that the validation issue has stopped occurring. For future reference though, files uploaded to your user profile aren’t accessible via the forum, and can only be accessed by FMOD staff.

Hello Leah,

Thank you so much for the comprehensive responses - that’s all really helpful. I appreciate you taking the time to get back to me.