FMOD folder doesn't copied on UE 4.13

Hi,

I noticed that on UE 4.13, FMOD folder aren’t copied to package during packaging game. I added “Additional Non-Asset Directories to Package” as described here: http://www.fmod.org/documentation/#content/generated/engine_ue4/deployment.html and this folder aren’t copied to package (Tested on Android). On 4.12 I set the same settings and it worked…

Please help me.

Thank you.

I noticed that this issue is specific only for Android. On Windows & iOS it works good.

I’ve just tried this with a new 4.13 blueprint project and it worked fine here. Things to try are:

1.) Make sure FMOD is set up in the “Additional Non-Asset Directories to Package” - you’ve said you have done this already, but its worth mentioning again for anybody else having issues.

2.) Make sure you have Mobile banks exported from Studio. Keep in mind that FMOD Studio “Build” will only build for the current platform, so you might not be exporting mobile as well as Desktop. Its worth checking in explorer/finder that the directory is where you expect under your game’s content directory.

Alternatively, you can use the FMOD Studio setting “Force Platform Name” to “Desktop” if you want to use one set of banks.

3.) If you aren’t hearing sound, there might be some other problem going on unrelated to banks. Check logcat for errors to see if its failing to load banks, or if there is some other Android sound problem.

4.) A common deployment problem is blueprints that initialize before the plugins load, which won’t be able to find FMOD event references. See the “Loading blueprints before plugin load” section of deployment for info about that problem.

As I understand there was a bug in Version 1.08.11 related to Android NDK and supposedly it’s been fixed in Version 1.08.12 (I haven’t tested yet, thus saying “supposedly”)

Yes, please retest using 1.08.12 and report back if you still have problems.

OK, it looks like plugin doesn’t load.

:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:039][-8118696]LogFMODOculus: StartupModule
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD: FFMODStudioModule startup
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD: Lib path = ‘…/…/…/NewTestMobile/Plugins/FMODStudio/Binaries’
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD:Error: …/android/src/fmod_jni.cpp(65) - JNI_OnLoad has not run, should have occurred during System.LoadLibrary.
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD:Error: ‘StudioSystem->initialize(1, FMOD_STUDIO_INIT_ALLOW_MISSING_PLUGINS | FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE, FMOD_INIT_MIX_FROM_UPDATE, 0)’ returned ‘An error occurred that wasn’t supposed to. Contact support.’
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD: Loading strings bank: …/…/…/NewTestMobile/Content/FMOD/Mobile/Master Bank.strings.bank
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD:Warning: Failed to load strings bank: …/…/…/NewTestMobile/Content/FMOD/Mobile/Master Bank.strings.bank
09-15 02:16:43.040 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:040][-8118696]LogFMOD:Error: ‘StudioSystem->release()’ returned ‘An invalid object handle was used.’
09-15 02:16:43.041 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:041][-8118696]LogFMOD: Creating runtime Studio System
09-15 02:16:43.041 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:041][-8118696]LogFMOD:Error: …/android/src/fmod_jni.cpp(65) - JNI_OnLoad has not run, should have occurred during System.LoadLibrary.
09-15 02:16:43.041 7058-7077/com.YourCompany.Test D/UE4: [2016.09.15-00.16.43:041][-8118696]LogFMOD:Error: ‘lowLevelSystem->getDriverInfo(DriverIndex, nullptr, 0, nullptr, &SystemSampleRate, nullptr, nullptr)’ returned ‘A requested output, dsp unit type or codec was not available.’

1 Like

That’s strange, it seems to imply that the GameActivity.java file hasn’t had the necessary changes added to it. That should happen since FMOD references an APL xml file that says what to add.

If you look at the game activity file in
Intermediate\Android\APK\src\com\epicgames\ue4\GameActivity.java

For the development build, you should see calls to:
System.loadLibrary(“fmodL”);
System.loadLibrary(“fmodstudioL”);
As well as:
// Initialize FMOD Studio jar file
org.fmod.FMOD.init(this);

Furthermore, there should be the following files in the intermediate directory:
Intermediate\Android\APK\libs\fmod.jar
Intermediate\Android\APK\libs\armeabi-v7a\libfmodL.so
Intermediate\Android\APK\libs\armeabi-v7a\libfmodstudioL.so

Is all of that there after you build for Android?

Yes, these calls are exist in GameActivity.java and files in intermediate directory also…
I’m using Launcher engine version and latest FMOD plugin 1.08.11

Same here, got the exact same errors, but everything else is as usual

I’m disappointed that it’s still doesn’t resolved… I can’t make update my game only because of FMOD…

Bump this question. I need fix this issue ASAP because I can’t working…

2 Likes

This looks to be related to a compatibility issue with some devices that was introduced in 1.08.11 when we updated to Android NDK r12b.

This issue is fixed in the FMOD 1.08.12, which is due for release within the next few days. If you can’t wait that long, please try rolling back to FMOD 1.08.10.

1 Like