GoogleVR (Daydream) crashing when FMOD plugin is enabled

I’m using UE4 4.13-googlevr from Google’s github:
https://github.com/googlevr-unreal/UnrealEngine/tree/4.13-googlevr
I got the gvraudio plugin from https://drive.google.com/drive/u/1/folders/0B160tF5X4cubS0NZM0ZQY3dBQ3M
I followed the directions to add the grvaudio plugin to FMODStudio, I re-exported the banks.
Then I followed the UE4 Android Deployment instructions from: http://www.fmod.org/documentation/#content/generated/engine_ue4/deployment.html
I replaced libovrfmod with gvraudio in the ovr_APL.xml file. I left the libovrfmod.so file in <Project_name>\Plugins\FMODStudio\Binaries\Android\armeabi-v7a, because it looks like some #defines are enabled when it’s there.
Anyway, I created Starter Content, enabled the FMOD and GoogleVR plugins. Packaged Android-ATC and installed it on my Nexus 6P. The app fails to launch.
I disable the FMOD plugin, re-package and install. The app launches fine.
I had this all working with UE4 4.12. I’m not sure why it’s broken now. Any help is greatly appreciated.

The GVRAudio plugin you linked on Google Drive isn’t publicly available, nor are the steps you are following to ensure UE4 integration with FMOD Studio.

As a test can you verify the UE4 plugin works correctly without the GVRAudio plugin?

It does look like it's a gvraudio plugin problem. The FMOD plugin works if I use ovrfmod plugin or if I remove all plugins from <Project_Name>\Plugins\FMODStudio\Binaries\Android\armeabi-v7a and delete plugins.txt and ovr_APL.xml from <Project_Name>\Plugins\FMODStudio\Binaries\Android. 

I’ll post on the Google groups Daydream forum about this. By the way, are you in contact with the Google developers?

Thanks,
-Stanley

Fixing RelPluginPath and deleting libovrfmod.so seemed to do the trick. FMOD works and no longer crashes my Daydream app.
More info from Ian Kelly (kellyi@google.com):
Hey,

I have not been able to reproduce this crash as such. However there seems to be an issue with the FmodStudio.Build.cs file, which may be the cause of your problems. I will get on to Fmod later today to see if this can easily be remedied.

The gvraudio_APL.xml (example attached) file is being reported as missing as an incorrect relative path is being calculated at

As a stop gap measure it is possible to get everything to deploy on android if you manually correct the path in FmodStudio.Build.cs by changing the RelPluginPath declaration in line 220 to your APL path:

string RelPluginPath = Utils.MakePathRelativeTo(PluginName, BuildConfiguration.RelativeEnginePath);

Then you have the gvraudio_APL.xml file and the plugins.txt in $YOUR_PROJECT_PATH/Plugins/FMODStudio/Binaries/Android, and the .so file in $YOUR_PROJECT_PATH/Plugins/FMODStudio/Binaries/Android/armeabi-v7a/

then RelPluginPath should be:

string RelPluginPath = “$YOUR_PROJECT_PATH/Plugins/FMODStudio/Binaries/Android/gvraudio_APL.xml”

Apologies for this workaround. As I say I will get on to the Fmod guys this afternoon to see if a proper fix can be made before we share an updated version of the plugin.

Ian

We are following up with Google regarding this problem on Mac. I’ll report back when we have a solution.

It looks like this is a bug with Unreal Engine’s MakePathRelative on Mac. Our fix for it will be out in 1.08.15. In the mean time:

In file: Plugins/FMODStudio/Source/FMODStudio/FMODStudio.Build.cs

After line: string BasePath = System.IO.Path.Combine(ModuleDirectory, “…/…/Binaries”, platformName); (line 73)

Add this: Utils.CollapseRelativeDirectories(ref BasePath);