Failed to load FMOD DLL

Hello,

I followed the instruction to use FMOD in ue4 and now have a plugin that is compiled with the ue4 project that currently targets Win64 and PS4 (Engine sources from Epic’s github).
FMOD is loaded and works in the Editor but I can’t make it work on the devkit and it seems to be a path problem that I fail to solve.

I’m using fmod 1.08.04 with ue4 4.12 preview 4.

The plugin is stored in:

%Engine%\Plugins\

and the .prx files are in:

%Engine%\Plugins\FMODStudio\Binaries\PS4.

The working directory set up in the VS project properties is

%Project%\Build\PS4

FFMODStudioModule::GetDllPath uses

return FString::Printf(TEXT(“lib%s.prx”), ShortName);

Which is correct according to what I read on the forum.

I have the following logs when I run the project on the dev kit:

LogFMOD: FFMODStudioModule startup
LogFMOD: Lib path = ‘…/…/…/engine/plugins/fmodstudio/Binaries’
LogFMOD: FFMODStudioModule::LoadDll: Loading libfmodL.prx
LogFMOD:Error: Failed to load FMOD DLL ‘libfmodL.prx’, FMOD sounds will not play!
LogFMOD: FFMODStudioModule::LoadDll: Loading libfmodstudioL.prx
LogFMOD:Error: Failed to load FMOD DLL ‘libfmodstudioL.prx’, FMOD sounds will not play!

I tried to modify the paths in FFMODStudioModule, the working directory and also tried to put the plugin in the project’s directory instead of the engine’s directory, without any success.

Any idea to make this work ?
Any idea to make it work using the project’s directory instead of the engine’s directory ?

All that looks good. I’ll retest PS4 with 4.12 preview and get back to you.

Thank you Geoff for testing this.

Seems related to a 4.12 change in the AutomationTool code. I’m following it up now.

Thank you for the feedback. I hope it’ll be fixed soon (when the 4.12 release will be available maybe?)

That is due to a bug in the 4.12 pre-release. It should be fixed for the official 4.12 release, but if you need it up and running now, you can change a line of code in the AutomationTool code.

Find StageRuntimeDependenciesFromReceipt in DeploymentContext.cs and change:

bool bRemap = RuntimeDependency.Type == StagedFileType.UFS && !bUsingPakFile;

to:

bool bRemap = RuntimeDependency.Type != StagedFileType.UFS || !bUsingPakFile;
2 Likes

Having to chose between Fmod and the devkit was really unconvenient! Thank you for the solution, we’ll use this.