Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

Unity android build receiving empty callback data from wwise, Oculus Quest [closed]

0 votes
Using:

Unity version 2019.4.11.f1

Wwise integration 2021.1.2.7629

targeted minimum Android API 23

problem short: not receiving data from Wwise callbacks

Problem specified:

When running the Android build on Oculus Quest (1, fully updated) and using callbacks such as fBeatLenght, or custom cues, unity will receive that Wwise is trying to send these, but the data turns up empty. e.g. fBeatLenght turns up 0, and cues are just blank "".

When running a windows build of the same game, or running the game in the editor, the data is received correctly. i.e. I get the cue 't', and the fBeatLenght 0.75

Sound can be activated just fine no matter if it is a build Android/Windows or the Unity editor running. I just can't get any data back into the game from Wwise.

When using the Wwise profiler on the Android build, I can observe that the cue is correctly identified in the wwise profiler, and that the GameObject it is generated from is correctly identified to what I expect it to be. However, when I use the debug tool 'Logcat' to extract my Debug.Logs from unity, when I run the Android build from my Quest, the ID that sends the cue, apparently does not match any GameObject ID in the game. When I run the same Debug.Logs for the windows build, I AM able to match the ID with the expected GameObject from which the cue is sent.

I'd like some input on this issue thank you

/Lisbeth Rasmussen
closed with the note: Fixed it myself
asked Aug 6, 2021 in General Discussion by Lisbeth R. (250 points)
closed Aug 18, 2021 by Lisbeth R.

1 Answer

+1 vote
Apparently the problem got fixed when I started to close down unity and opening it again before building, and setting the target CPU architecture to 64, both in player settings, and in the wwise plugin for 64...

 

Leaving my question up instead of deleting it, if others have similar issues.
answered Aug 18, 2021 by Lisbeth R. (250 points)
Hi Lisbeth, for this issue what settings did you change exactly to get it to work?
I've had a similar issue here: https://www.audiokinetic.com/qa/11251/akmidieventcallbackinfo-has-wrong-value-on-android/
But so far I have not been able to solve it...
I'll write this as specifically as possible (for other people comming to this), although I'm sure you know how to locate some (or all) of the things already. It was 1,5 year ago I had the issue, so I will account this to the best of my abilities:

Open project settings by using the -tab- 'Edit' -> Project Settings

In the left bar of project settings -window-, go to:

Player

Then make sure that you are on the Android -tab- in the 'Player' window and then go to:

Other settings -> Target Architectures

Make sure only the ARM64 box ticked on when building


For the wwise plugin settings, go to the 'Project' -folder- and go to:
Wwise -> API -> Runtime -> Plugins -> Android

I don't have an active oculus with wwise integration project currently on this computer, so I don't recall the exact name of the folder located in the 'Android' -folder-, but it should contain '64' in the name. So select that, and dependent on which plugin you have set active -

(debug, profiling or release, located in the -tab- 'Assets' -> Wwise -> Active Plugins)

- you'll need to select the folder matching the active setting

then click on the file 'AkSoundEngine', which has a puzzle piece icon to the left of it, and look in the 'inspector' -tab-

tick on 'Any Platform' (you may also want to tick on the options below this) press 'Apply' and navigate through the dialogue windows promted by this.


I hope it solves the issue!
Thank you for the detailed reply!
Unfortunately I'm still seeing a problem in my project.

I also noticed that Wwise appears to automatically activate and deactivate plugin libraries as needed during a build, depending on the platforms you have selected in the unity project settings. So any changes I make to these plugin files are immediately overwritten.

In going through the steps you listed I realized the device I'm attempting to test on is only 32bit, and I wonder if it simply isn't supported anymore...
I was under the impression that you also was using an Oculus Quest, but I see that I misunderstood that :P

If your device is 32bit, then you should use ARMv7 instead.

Sometimes wwise is just... wwise, so you may want to attempt the x86 as well.

I can recommend that you also open three 'inspector' -tabs-, and lock each of them for the debug, profiling and release plugins. Then close unity, open again, and set all of them as the active ones, and try and make a new build right away.

And try also to do this where you change which of the plugins you set active first and last.

My apologies for late replies, but Wwise apparently emails me like 17+ hours after a comment has been made -.-
Thanks for the information!
I tried your suggestions but unfortunately it seems any configuration using ARMv7 (or any 32-bit platform) does not return the correct data for AkMIDICallbackInfo.

I can confirm however, that this works just fine for 64-bit platforms(ARM64). For now this is fine for me, but I have logged a bug with Wwise to see if they can follow up on 32 bit systems.

Thanks again!
...