Meta XR Audio SDK Integration Issues with Unreal Engine 5 and Wwise for Quest 3 Development

Hi everyone,

I’m developing a VR game for Meta Quest 3 using Unreal Engine 5.4.4, Meta XR SDK v68, and Meta XR Audio SDK v68 with Wwise 2023.1.7.8574.3199. I’m encountering some issues with the Meta XR Audio SDK integration and would appreciate any help or insights.

I’ve followed the setup instructions from the Meta documentation (https://developers.meta.com/horizon/documentation/unreal/meta-xr-audio-sdk-wwise-req-setup?locale=en…), but I’m running into the following problems:

  1. When I copy the MetaXRAudioWwise DLL and XML files to the Wwise app folder as instructed in the documentation, Unreal Editor fails to launch with the following assertion error:
LoginId:902113744ce7dcdd8266e487fa1248f0
EpicAccountId:af814a7bf2724617a579492d6f104ad5

Assertion failed: DllHandle [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformProcess.cpp] [Line: 196]

UnrealEditor_Core
UnrealEditor_MetaXRAudio!FMetaXRAudioLibraryManager::GetPluginContext() [C:\Users\Volrath\Documents\GitHub\hg-project-shibainu\Plugins\MetaXRAudioWwise\Source\MetaXRAudio\Private\MetaXRAudioDllManager.cpp:250]
UnrealEditor_MetaXRAudio!FMetaXRAudioLibraryManager::UpdatePluginContext() [C:\Users\Volrath\Documents\GitHub\hg-project-shibainu\Plugins\MetaXRAudioWwise\Source\MetaXRAudio\Private\MetaXRAudioDllManager.cpp:209]
UnrealEditor_MetaXRAudio!UMetaXRAudioAcousticSettings::UMetaXRAudioAcousticSettings() [C:\Users\Volrath\Documents\GitHub\hg-project-shibainu\Plugins\MetaXRAudioWwise\Source\MetaXRAudio\Private\MetaXRAudioAcousticSettings.cpp:26]
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
  1. If I instead copy these files to the Wwise plugin folder in my game project, I can launch the editor and build the APK. However:
    a. When trying to launch the APK on the Quest 3, it crashes after showing the splash image.
    b. When attempting to run it from the editor to the headset (via launch in platform, not PCVR), it crashes with the following errors:
LogPlayLevel: UAT: 10-02 18:13:34.045  5809  6018 D UE      : LogOnline: OSS: Unable to create OnlineSubsystem instance GOOGLEPLAY
LogPlayLevel: UAT: 10-02 18:13:34.045  5809  6018 D UE      : LogOnline: OSS: Created online subsystem instance for: NULL
LogPlayLevel: UAT: 10-02 18:13:34.045  5809  6018 D UE      : LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for type [NULL]
LogPlayLevel: Warning: UAT: 10-02 18:13:34.045  5809  6018 D UE      : LogOnline: Warning: OSS: FOnlineSubsystemGooglePlayModule was disabled
LogPlayLevel: Warning: UAT: 10-02 18:13:34.047  5809  6018 D UE      : LogAndroid: Warning: dlopen failed: dlopen failed: library "libMetaXRAudioWwise.so" not found
LogPlayLevel: Warning: UAT: 10-02 18:13:34.048  5809  6018 D UE      : LogAndroid: Warning: dlopen failed: dlopen failed: library "libMetaXRAudioFMOD.so" not found
LogPlayLevel: Warning: UAT: 10-02 18:13:34.049  5809  6018 D UE      : LogAndroid: Warning: dlopen failed: dlopen failed: library "libmetaxraudio64.so" not found
LogPlayLevel: Error: UAT: 10-02 18:13:34.049  5809  6018 D UE      : LogAudio: Error: Meta XR Audio: Unable to load Meta XR Audio UE integratiton
LogPlayLevel: Error: UAT: 10-02 18:13:34.049  5809  6018 D UE      : LogAudio: Error: Meta XR Audio: Failed to load OVR Audio dll
LogPlayLevel: UAT: 10-02 18:13:34.050  5809  6018 D UE      : LogOculusPluginWrapper: OculusPlugin initialized successfully
LogPlayLevel: UAT: 10-02 18:13:34.307  5809  6018 D UE      : LogHMD: FOculusXRHMDModule PreInit successfully
LogPlayLevel: UAT: 10-02 18:13:34.308  5809  6018 D UE      : LogInit: ExecutableName: project_shibainu

...

LogPlayLevel: UAT: 10-02 18:13:34.914  5809  6018 D UE      : [2024.10.02-21.13.34:914][  0]LogHMD: PokeAHoleMaterial loaded successfully
LogPlayLevel: UAT: 10-02 18:13:34.950  5809  6018 D UE      : [2024.10.02-21.13.34:950][  0]LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.
LogPlayLevel: UAT: 10-02 18:13:34.950  5809  6018 D UE      : [2024.10.02-21.13.34:950][  0]LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.
LogPlayLevel: UAT: 10-02 18:13:34.995  5809  6018 D UE      : Assertion failed: DllHandle [File:./Runtime/Core/Private/Android/AndroidPlatformProcess.cpp] [Line: 60]
LogPlayLevel: UAT: 10-02 18:13:34.995  5809  6018 D UE      :
LogPlayLevel: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]Assertion failed: DllHandle [File:./Runtime/Core/Private/Android/AndroidPlatformProcess.cpp] [Line: 60]
LogPlayLevel: UAT: 10-02 18:13:35.003  5809  6018 D UE      :
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: === Critical error: ===
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: Assertion failed: DllHandle [File:./Runtime/Core/Private/Android/AndroidPlatformProcess.cpp] [Line: 60]
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x0000007878F32694 libUnreal.so(0x0000000009DFB694)!FAndroidPlatformProcess::GetDllExport(void*, char16_t const*)  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000078820A57C8 libUnreal.so(0x0000000012F6E7C8)!FMetaXRAudioLibraryManager::GetPluginContext()  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000078820AF128 libUnreal.so(0x0000000012F78128)!FMetaXRAudioLibraryManager::UpdatePluginContext(float)  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000078799B5254 libUnreal.so(0x000000000A87E254)!UClass::CreateDefaultObject()  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x0000007879D20414 libUnreal.so(0x000000000ABE9414)!ProcessNewlyLoadedUObjects(FName, bool)  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000078808AB8C4 libUnreal.so(0x00000000117748C4)!FEngineLoop::PreInitPostStartupScreen(char16_t const*)  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000078808A3048 libUnreal.so(0x000000001176C048)!FEngineLoop::PreInit(char16_t const*)  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x000000788088F080 libUnreal.so(0x0000000011758080)!AndroidMain(android_app*)  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x000000788089FA60 libUnreal.so(0x0000000011768A60)!android_main()  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000078808C6BC8 libUnreal.so(0x000000001178FBC8)![Unknown]()  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000079A8B6C154 libc.so(0x00000000000E0154)![Unknown]()  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error: [Callstack] 0x00000079A8B186E0 libc.so(0x000000000008C6E0)![Unknown]()  []
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 10-02 18:13:35.003  5809  6018 D UE      : [2024.10.02-21.13.35:003][  0]LogAndroid: Error:
  1. Interestingly, everything works fine when running in simulation mode in the editor or via the Meta XR Simulator.

Has anyone encountered similar issues or have suggestions on how to properly integrate the Meta XR Audio SDK with Wwise for Quest 3 development in Unreal Engine 5? Any troubleshooting steps or potential solutions would be greatly appreciated.

Thank you in advance for your help!