FMOD Resonance Audio Plugin on Linux Server

Our dedicated server runs on linux and it seems that there is no sound due to resonance audio not being found. Is it a problem on our end, or is there a specific method for building the plugin for linux?

Thanks in advance,
Zs

The Resonance Audio plugin should be included with our Linux distribution in the directory plugins/resonance_audio/lib.

At runtime your code would need to load the plugin using FMOD::System::loadPlugin before attempting to load any banks. If the plugin shared library is not in the same location as your executable then you’ll need to call FMOD::System::setPluginPath to add the appropriate path before attempting to load the plugin.

If you feel that this is correctly set up and it’s still not working then running a logging build may shed some light on what’s going wrong. Feel free to ask any additional questions if any of this doesn’t make sense, and to share your FMOD logs if you have them.

Cheers
Derek

Hi Derek,

Thank you for the quick reply. I’m quite confused by “plugins/resonance_audio/lib” directory. Should that be “gamedir/plugins/resonance_audio/lib”?

Cheers,
Zsombor

plugins/resonance_audio/lib should be the relative path for the plugin library within the FMOD Linux archive.

E.g. if you downloaded FMOD 2.00.13 for Linux from our website you’d get the archive fmodstudioapi20013linux.tar.gz. If you extract that archive in the user home directory with the command tar xvzf fmodstudioapi20013linux.tar.gz then the Resonance Audio plugin library should be found at ~/fmodstudioapi20013linux/plugins/resonance_audio/lib/libresonanceaudio.so.

Hi Zsombor, just wondering if you were still having an issue with this?

Hi,
unfortunately yes, and it became a high priority error here, so I try to provide a more detailed description:

We have the UE4 FMOD plugin with Resonance in our game project, it works fine for Windows clients and server, but the Linux Server cross compile build fails with the following error log:
FMOD-BUILD-FAILED-ProjectLauncher.log (53.1 KB)
So at the moment we cannot build a proper Linux server, but we have a 1 week deadline for it.

Alternatively, if we build the game with the FMOD plugin without Resonance, downloaded from https://www.fmod.com/download , both the Win client and Linux server builds are successful, but there is no sound in Win clients, because of the missing resonance references (we got tons of warnings in the game log).

So the latter “no-sound” plugin was used only for testing our Linux Servers, but within 2 weeks we want to release the game with Linux servers, and for multiple platforms, so we must have a proper setup in the following week, to have one more week for testing…

Thanks!

I’ll investigate the build error - I can see you’re using UE4 4.24, which version of the FMOD integration are you using?

Sorry, I forgot to mention, we use UE4.24.3 and FMOD 2.00.07

@zsombor.bencsik

I haven’t been able to reproduce your build error when building a Linux dedicated server using UE 4.24.3 with FMOD 2.00.07.

Looking at your build log it is complaining about missing symbols which should be found in libfmodstudioL.so. Perhaps try extracting the FMOD 2.00.07 UE4 integration for Linux again to make sure the files in gamedir\Plugins\FMODStudio\Binaries\Linux\x86_64 are correct.

If you create a new blank UE4 project with UE 4.24.3, add the FMOD 2.00.07 integration for Windows and Linux and configure the FMOD plugin to use your game’s banks, are you able to reproduce the build error with that minimal setup? (That’s basically what I’ve done except I modified our FMOD Studio examples project to add a Resonance Audio Source effect to one event and routed it to mixer bus with a Resonance Audio Listener attached.)

I did run into a problem with the Resonance Audio plugin not getting deployed when building, that was caused by me forgetting to add the plugins.txt files required to get the Unreal build tool to copy our plugins. Refer to the documentation for details. Note that for the Linux build the plugins.txt does need to include the lib suffix when referring to the Resonance Audio plugin, but exclude the .so extension. I.e. the entry should be libresonanceaudio.

In my testing when I’d forgotten to add the required plugins.txt files, it didn’t seem to matter that the dedicated server couldn’t load the plugin - with the plugin loaded successfully on the client the audio playback worked correctly even though the server couldn’t load the plugin.

(I added a couple of replies to this thread then realized I’d made a mistake in testing so I’ve removed those replies to avoid future confusion!)

Thanks a lot, I can try it tomorrow with our project and if does not work with a test project too, and will give you feedback.
Thanks again for testing it!

Finally it is fixed, with the updated libresonanceaudio.so and recreated plugins.txt files it works now , thanks :slight_smile:

1 Like

That’s great news, thanks Zsombor