UE4.24 Packaged project crashes on Oculus Quest

Im trying to build it out for the Oculus Quest and can’t seem to get any sound through on the headset.

The only warnings I am getting is this.
UATHelper: Packaging (Android (ASTC)): WARNING: Library ‘fmodL’ was not resolvable to a file when used in Module ‘FMODStudio’, assuming it is a filename and will search library paths for it. This is slow and dependency checking will not work for it. Please update reference to be fully qualified alternatively use PublicSystemLibraryPaths if you do intended
to use this slow path to suppress this warning.
UATHelper: Packaging (Android (ASTC)): WARNING: Library ‘fmodstudioL’ was not resolvable to a file when used in Module ‘FMODStudio’, assuming it is a filename and will search library paths for it. This is slow and dependency checking will not work for it. Please update reference to be fully qualified alternatively use PublicSystemLibraryPaths if you do int
ended to use this slow path to suppress this warning.
PackagingResults: Warning: Library ‘fmodL’ was not resolvable to a file when used in Module ‘FMODStudio’, assuming it is a filename and will search library paths for it. This is slow and dependency checking will not work for it. Please update reference to be fully qualified alternatively use PublicSystemLibraryPaths if you do intended to use this slow path t
o suppress this warning.
PackagingResults: Warning: Library ‘fmodstudioL’ was not resolvable to a file when used in Module ‘FMODStudio’, assuming it is a filename and will search library paths for it. This is slow and dependency checking will not work for it. Please update reference to be fully qualified alternatively use PublicSystemLibraryPaths if you do intended to use this slow
path to suppress this warning

as well as

UATHelper: Packaging (Android (ASTC)): LogInit: Display: LogAudio: Warning: Using mismatched OVR Audio SDK Version! 1.41 vs. 1.50
UATHelper: Packaging (Android (ASTC)): LogInit: Display: LogFMOD: Warning: e:\jk\workspace\2.0_UE4.24_Win64\studio_api\src\fmod_effect.cpp(205) - Missing DSP plugin ‘Oculus Ambisonics’
UATHelper: Packaging (Android (ASTC)):
UATHelper: Packaging (Android (ASTC)): LogInit: Display: LogFMOD: Warning: e:\jk\workspace\2.0_UE4.24_Win64\studio_api\src\fmod_runtime_manager.cpp(1184) - Creating stub DSP plugin model and continuing.
UATHelper: Packaging (Android (ASTC)):
UATHelper: Packaging (Android (ASTC)): LogInit: Display: LogFMOD: Warning: e:\jk\workspace\2.0_UE4.24_Win64\studio_api\src\fmod_effect.cpp(205) - Missing DSP plugin ‘Oculus Spatializer’

I feel like I have put the files into the correct binaries, but not sure if this is an fmod issue or an Oculus issue!

The messages about ‘fmodL’ and ‘fmodstudioL’ not being resolvable seem odd. I’ve been playing around with packaging a build and haven’t been able to reproduce those so I’m not sure whether they are important. It’s plausible that those messages are indicating that the FMOD Studio runtime libraries are not being packaged into your APK which would explain the absence of audio on the device. To verify whether the runtime libraries were included you can open the APK file using a program like 7-zip and check that the libraries are in the lib folder. E.g. when I open an APK for a UE4 packaged build I can see this:

image

If those library files are present and you’re still not getitng audio then there might be something in the log from the device to shed more light on this?

I don’t believe we need to worry about the other messages:

  • The log messages about missing plugins are spam and can safely be ignored. (Internally we create a Studio system instance which is used to get some basic information from banks. That system doesn’t load the project’s plugins so those warnings are emitted as it loads the banks. I’ve added an issue to our tracker to get that cleaned up but it won’t cause any problems beyond the log spam.)
  • The log messages in the “LogAudio” category are nothing to do with FMOD and can safely be ignored.

Hi Derek,

So when I open up the apk file this is what I get:

for some reason the OculusSpatialiser for Fmod isn’t there, could that be causing the issue?
Not sure why it isn’t loading up! Is there something I’m not doing?

Ive put the Oculus file into the folder binary but it is not showing up in build! Is there something else I need to do?

That could definitely be it - excluding the Oculus spatializer when I build my test does cause audio playback to fail.

Packaging plugins for Android requires a suitable APL file to be present in the Plugins/FMODStudio/Binaries/Android folder (see https://fmod.com/resources/documentation-ue4?version=2.0&page=platform-specifics.html#deployment-of-android-plugins)

In my test I have a file Plugins/FMODStudio/Binaries/Android/plugins_APL.xml with the following content:

<?xml version="1.0" encoding="utf-8"?>
<!--Plugin additions-->
<root xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- init section is always evaluated once per architecture -->
    <init>
        <log text="OculusSpatializerFMOD APL init"/>
    </init>

    <!-- optional files or directories to copy to Intermediate/Android/APK -->
    <resourceCopies>
        <log text="OculusSpatializerFMOD APL copying files for $S(Architecture)/"/>
        <copyFile src="$S(PluginDir)/$S(Architecture)/libOculusSpatializerFMOD.so"
                    dst="$S(BuildDir)/libs/$S(Architecture)/libOculusSpatializerFMOD.so" />
    </resourceCopies>

    <!-- optional libraries to load in GameActivity.java before libUE4.so -->
    <soLoadLibrary>
        <log text="OculusSpatializerFMOD APL adding loadLibrary references"/>
        <loadLibrary name="OculusSpatializerFMOD" failmsg="OculusSpatializerFMOD not loaded and required!" />
    </soLoadLibrary>
</root>

Hi, just wanted to check in and see if you’re still experiencing this issue?