Oculus Spatializer not working on Quest, but works in editor and windows builds — Oculus
IMPORTANT:

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible: https://developer.oculus.com/quest-pitch/

For additional information and context, please see "Submitting Your App to the Oculus Quest Store".
Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Oculus Spatializer not working on Quest, but works in editor and windows builds

Hey, I have a pretty unique problem with the Oculus Spatializer and Wwise. 

Currently we are using Wwise 2018.1.6 with OSP 1.38.0

As far as I'm aware the plugin is set up correctly. It works in wwise, It works in the unity editor and it works in windows rift builds. 

When we build to quest, it does not work at all. Any audio using the OSP does not spatialize, have reflections/reverb of falloff

I have double checked that the libOculusSpatializerWwise2018.so is in the correct DSP folder for both arm64 and arm7 (does not work on either build target). I followed this guide: 
https://developer.oculus.com/documentation/audiosdk/latest/concepts/osp-wwise-unity-install/

and this guide:
https://developer.oculus.com/documentation/audiosdk/latest/concepts/osp-wwise-overview/


D Unity   : Unable to lookup library path for 'libAudioPluginOculusSpatializer', native render plugin support disabled.07-02 16:07:24.954 20666 20681
E Unity   : Unable to find libAudioPluginOculusSpatializer

I have read that the "Unable to find libAudioPluginOculusSpatializer" error is a false error here, but that doesn't explain why the spatialization is not working. 
https://issuetracker.unity3d.com/issues/android-arm64-build-cannot-load-libaudiopluginoculusspatializer-despite-being-arm64-binary

We have tried:
mono armv7 builds (debug and release)
il2cpp armv7 builds (debug and release)
il2cpp arm64 builds (debug and relase) 
with no success

Do you have any idea what i might be doing wrong and is there any info i could give you to help debug this. 

Things that I am unsure of currently: 
1. the only plugin i installed to my Wwise installation (following the second linked guide) is the windows 64 bit plugin. Do i need to also install an android plugin for the android banks. In my android bank plugin xml i have
<Plugin Name="AttachableMixerInput" ID="32837795" DLL="OculusSpatializerWwise"/> 
<Plugin Name="Oculus Spatializer" ID="9572518" DLL="OculusSpatializerWwise"/>

which seems to match the naming convention of the windows dll and not the android .so file 

2. Do i have to manually register the plugin code side? If so, why would it work in editor and in windows builds? Ive read conflicting information about this online, but it seems like the C++ wwise plugin should handle registration of the plugin 

3. Are there any steps missing in those two guides? Im kinda at a loss at this point ive been debugging for about a week. 

Here is a screenshot of my folder structure for reference 



and here is where i installed the plugin to wwise 

Comments

  • RegularFriendRegularFriend Posts: 4
    NerveGear
    We are running Unity 2018.4 forgot to mention that 
  • PetrozaPetroza Posts: 149 Oculus Staff
    edited July 9
    Hi Will,

    I just tested this and found that using the default file name for our Android plugin doesn't work with Unity+Wwise. Can you try renaming libOculusSpatializerWwise2018.so to libOculusSpatailizer.so, and let me know if that works?

    If you can confirm this works, then I'll get the docs updated so they have the correct instructions.

    Cheers,
    Pete
  • RegularFriendRegularFriend Posts: 4
    NerveGear
    Hey,

    So I tried renaming both the .so file itself and then the .soname property of the so file using greadelf. Neither seems to work. 

    we have tried:
    -The name you suggested for the filename, unedited soname 
    -The name you suggested for the filename, matching soname
    -The original name of the file, soname set to what you suggested

    none seemed to work 

    Here is our modified .so file if you wanna check it out. it should have the internal .soname changed to what you said as well as the file name: https://drive.google.com/open?id=13VrIeJoFNg0nYGCM_jnBOs8LRZcv7j3p

    We used patchelf to change and test the soname without de/recompiling. 

    Still get the error on startup and no specialization in builds. Not sure what's up, but we would really like to have OSP on our device as it sounds much better than other solutions we have tried. Any help would be appreciated. 

    -Will
  • PetrozaPetroza Posts: 149 Oculus Staff
    edited July 11
    Hi Will,

    So I just created a fresh project from scratch. I used Wwise Hub to integrate Wwise 2019.1.1 into my Unity 2018.2.1f1 project.

    I downloaded the 1.38 Spatializer package from the download page, put the 64-bit plugin in my Wwise installation and my Unity project. Everything works fine in editor.

    Then I added libOculusSpatailizerWwise2018.so to Assets\Wwise\Deployment\Plugins\Android\armeabi-v7a\DSP

    When I deployed on Oculus Quest the sound was playing as 3D panning not spatializing, because it didn't load the plugin properly, this is error I got in logcat:
    (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
    07-12 14:48:55.838  5456  5470 I Unity   : 
    07-12 14:48:55.845  5456  5510 I AKDEBUG : dlopen failed: library "/data/app/com.oculus.unity_wwise_test-2/lib/arm/libOculusSpatializerWwise.so" not found
    07-12 14:48:55.845  5456  5510 I AKDEBUG : AK Error: 
    07-12 14:48:55.845  5456  5510 I AKDEBUG : Could not find plugin dynamic library OculusSpatializerWwise
    I renamed libOculusSpatailizerWwise2018.so to libOculusSpatailizerWwise.so in Windows explorer (without changing the soname)

    Then rebuilt the app in Unity and it all worked fine. I repeated the same process with the ARM64 plugin and that worked after rename as well.

    Note: you can inspect the contents of an APK file using 7-zip, this is a good way to check if the library files are in the right location

    Let me know if it's still not working for you and we can follow up on email.
  • RegularFriendRegularFriend Posts: 4
    NerveGear
    Thank you I will look into it, I imagine its likely i broke something when editing hte soname. 

    -Wil
  • RegularFriendRegularFriend Posts: 4
    NerveGear
    Could also be because of unity verion / wwise version differnces we are one

    Wwise 2018.1.6
    Unity 2018.4

    I'll see if versioning makes a difference as well. Thank you for all your help!

    -Will
Sign In or Register to comment.