While there are a couple of old topics on this, the documentation they link to is broken. It looks like FMOD updated the documentation links and didn’t set up any redirects.
I’m coming into a project using FMOD, and FMOD throws several errors when loading. I’m not overly familiar with it, and simply want to put in whatever missing files there are. Is there a clear guide for this? I assume whoever it was that set this up didn’t copy these files in.
I’m seeing the following errors on start:
LogFMOD: Error: Failed to load plugin 'OculusSpatializerFMOD', sounds may not play
LogFMOD: Warning: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_effect.cpp(202) - Missing DSP plugin 'Oculus Spatial Reverb'
LogFMOD: Error: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_runtime_manager.cpp(1267) - DSP plugin returned an error, bank will not load properly.
LogFMOD: Warning: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_effect.cpp(202) - Missing DSP plugin 'Oculus Ambisonics'
LogFMOD: Error: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_runtime_manager.cpp(1267) - DSP plugin returned an error, bank will not load properly.
LogFMOD: Warning: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_effect.cpp(202) - Missing DSP plugin 'Oculus Ambisonics'
LogFMOD: Error: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_runtime_manager.cpp(1267) - DSP plugin returned an error, bank will not load properly.
LogFMOD: Warning: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_effect.cpp(202) - Missing DSP plugin 'Oculus Ambisonics'
LogFMOD: Error: c:\jk\workspace\Build__2.2__Unreal_Win\studio_api\src\fmod_runtime_manager.cpp(1267) - DSP plugin returned an error, bank will not load properly.
I was able to sort this finally and clear this error by copying over a dll and creating a plugins.txt file. I finally found the documentation on it. However I now have a new issue where regular audio plays on my rift in editor, but FMOD sounds only play through the attached USB headset and not the rift. Building it and running it on a quest gives me no audio there either.
Are you getting any FMOD related errors or warnings when running?
For the Quest you’ll need to follow the Android platform specifics docs, which describe how to add an APL.xml file and stage the Mobile banks. The relevant .so file should be in the “FMOD/android” directory of the Oculus spatializer package. I realize this setup isn’t clear at all so I have made a task to update the docs to make it explicit that Android requirements also apply to Quest.
For the Rift you shouldn’t need these additional steps, perhaps you could try setting a different driver using System::setDriver and see if that gets audio outputting where you want it to?
There are no FMOD related errors when running. After I figured out how to copy in the oculus spatializer and create the plugins.txt file, the errors I was getting went away. Now it’s just the issue of the FMOD audio coming from the attached USB headset and the rest of the audio coming from the oculus rift. The project itself is a blueprint only project, so there is no C++. I’ll be adding c++ to address an issue with another plugin, so I could try and see if that helps or not.
Adding C++ is definitely a good place to start. Definitely also try manually setting System::setDriver. We have a Unity C# example on how to do this for Oculus which should at least give you an idea of how to set a different driver.
I had a few other things to work on and was just getting to this now. I notice, through other posts, that you guys said that you fixed this in 2.01.00 so why is this still an issue in 2.02.x?
It seems like having to manually choose a driver to pipe the sound through is a bit of a guess, whether it’s windows default audio, or different VR headsets. Is it really that difficult to tell fmod to use the same audio output as whatever UE4 is currently using?
Unfortunately setting the driver is the developer’s responsibility on Rift, please see the Rift Audio documentation for more details. Regardless of this requirement, it should certainly be something we mention in our docs as well; I will make another task to address this blind spot.
Has manually setting the driver fixed the issue for you?