Spatialized audio with Wwise

Hello !

As you may know, it is now possible to play spatialized sounds with Wwise on Google Daydream.
I followed the google documentation: Resonance Audio - Wwise

As the documentation says, I added the google file into my Wwise installation folder, I generated the plugin for my project and added the 2 lines in the correct files before rebuilding it.
but when i try to package my project I get this error:


UATHelper: Packaging (Android (ATC)): UnrealBuildTool: C:/NVPACK/android-ndk-r12b	oolchains/arm-linux-androideabi-4.9\prebuilt/windows-x86_64\bin/arm-linux-androideabi-ar.exe: creating C:/TestProject/TestProject/Plugins/Wwise/Binaries/Android/UE4-AkAudio-Android-Shipping-armv7-es2.a
UATHelper: Packaging (Android (ATC)): UnrealBuildTool: [20/20] clang++.exe TestProject-Android-Shipping-armv7-es2.so
UATHelper: Packaging (Android (ATC)): UnrealBuildTool: C:/TestProject/TestProject/Plugins/Wwise/ThirdParty/android-9_armeabi-v7a/Release/lib/libGvrAudioFX.a(libvraudio_api.a_vraudio_api.o):vraudio_api.cc:function std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry(): error: undefined reference to 'std::__1::ios_base::clear(unsigned int)'
UATHelper: Packaging (Android (ATC)): UnrealBuildTool: C:/TestProject/TestProject/Plugins/Wwise/ThirdParty/android-9_armeabi-v7a/Release/lib/libGvrAudioFX.a(libvraudio_api.a_vraudio_api.o):vraudio_api.cc:function std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush(): error: undefined reference to 'std::__1::ios_base::clear(unsigned int)'
UATHelper: Packaging (Android (ATC)): UnrealBuildTool: C:/TestProject/TestProject/Plugins/Wwise/ThirdParty/android-9_armeabi-v7a/Release/lib/libGvrAudioFX.a(libvraudio_api.a_vraudio_api.o):vraudio_api.cc:function std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostr
eam<char, std::__1::char_traits<char> >&, char const*, unsigned int): error: undefined reference to 'std::__1::ios_base::getloc() const'

...] a lot of lines of that kind ...]

UATHelper: Packaging (Android (ATC)): UnrealBuildTool: clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
UATHelper: Packaging (Android (ATC)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: C:\TestProject\TestProject\Binaries\Android\TestProject-Android-Shipping-armv7-es2.so
UATHelper: Packaging (Android (ATC)): UnrealBuildTool: Total build time: 51,23 seconds
UATHelper: Packaging (Android (ATC)): CommandUtils.Run: Run: Took 51,2652871s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Android (ATC)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): C:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\DotNET\UnrealBuildTool.exe TestProject Android Shipping -Project=C:\TestProject\TestProject\TestProject.uproject  C:\TestProject\TestProject\TestProject.upr
oject  -remoteini="C:\TestProject\TestProject" -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2017.01.18-18.11.50.txt' 
UATHelper: Packaging (Android (ATC)):    à AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictionary
`2 InTargetToManifest)
UATHelper: Packaging (Android (ATC)):    à Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
UATHelper: Packaging (Android (ATC)):    à BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (Android (ATC)):    à BuildCookRun.ExecuteBuild()
UATHelper: Packaging (Android (ATC)):    à AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (Android (ATC)):    à AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.Automation.Process(String] Arguments)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (Android (ATC)):    à AutomationTool.Program.Main()
UATHelper: Packaging (Android (ATC)): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Android (ATC)): BUILD FAILED

What I see is that the google vr library “libGvrAudioFX.a” can’t find reference to a number of functions, but i don’t know how to solve this issue.
After that, I removed Wwise from my project, I reinstalled it without the google vr files and re-added the wwise plugin to my project and I was able to package. So I don’t know what to think, does it come from a wrong Android SDK configuration ?

Because this feature is new, I hope that some of you can help me !
Thanks !

For information, my settings are (CodeWorks for Android 1R5):

I tried different NDK (from r10e to r13b) and SDK versions but none solves the problem.

Apparently there’s a hotfix for this currently being worked on.

I updated to the GVR Audio Wwise SDK v0.2 and still have this issue :(.

Looks like they pushed the hotfix about 10 hours ago, version SDK v0.2.1. Certainly fixes the compile issue for me.

Thank you for your answer, Gwen. I’m sorry I didn’t see your message before writting my previous one. They indeed released a hotfix today, I’m testing it.

I have issues too when I try to package a project. I am obtaining the following error using GVR and wwise:

UATHelper: Packaging (Android (All)): UnrealBuildTool: C:/NVPACK/android-ndk-r12b/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9.x/…/…/…/…/aarch64-linux-android/bin\ld: skipping incompatible F:/UEbuild/UnrealEngine-4.14-googlevr/Engine/Source/ThirdParty/GoogleVR/lib/android_arm//libgvr.so when searching for
-lgvr
I am using google daydream branch 4.14.3 and wwise 2016.2.1.5995.317 .

Did somebody encountered similar error message ?

Ok, so I finally found a solution to my problem to create an apk for daydream…and a google pixel phone.

Following the google documentation, the editing of the file AkAudio.Build.cs do not link to the proper library. So I updated the specified library for android and replace android-9_armeabi-v7a by android-21_arm64-v8a