IOS Build cannot find banks


(Mesut Özdogan) #1

Hello,
we are trying to build for IOS and getting no sound. In the Log we found that the bank file have to be missing, because no events can be found?

EventNotFoundException: FMOD Studio event not found ‘event:/Music/AmbientMain’
at GooglePlayDownloader.GetExpansionFilePath () [0x00000] in :0
at FMODUnity.RuntimeManager.CreateInstance (System.String path) [0x00000] in :0
at FMOD_PlayOnEnable.OnEnable () [0x00000] in :0

(Filename: currently not available on il2cpp Line: -1)

In the Editor the sounds are played without problems. The Android build is working fine. We are using Unity 5.3.1f and the latest FMOD version.

Thank you for your help!

Edit: Why FMOD is invoking the GooglePlayDownloader on playing sounds?


(Nicholas Wilcox) #2

FMOD doesn’t use GooglePlayDownloader at any shape or form. Unity runtime is generating incorrect callstack, perhaps try a development/debugging build. Can you post any error messages from the bank loading stage.


(Mesut Özdogan) #3

Thank you for your fast response.

I get following debug output:

FMOD Studio: Creating runtime system instance
FMODUnity.RuntimeManager:Initialiase(Boolean)
FMODUnity.RuntimeManager:get_Instance()
FMODUnity.RuntimeManager:PathToGUID(String)
FMODUnity.RuntimeManager:CreateInstance(String)
FMOD_PlayOnEnable:OnEnable()
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

FMOD Studio: Device iPod7,1 classed as MobileLow
FMODUnity.RuntimeUtils:GetCurrentPlatform()
FMODUnity.RuntimeManager:Initialiase(Boolean)
FMODUnity.RuntimeManager:get_Instance()
FMODUnity.RuntimeManager:PathToGUID(String)
FMODUnity.RuntimeManager:CreateInstance(String)
FMOD_PlayOnEnable:OnEnable()
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

EventNotFoundException: FMOD Studio event not found 'event:/Music/AmbientMain'
  at GooglePlayDownloader.GetExpansionFilePath () [0x00000] in <filename unknown>:0 
  at FMODUnity.RuntimeManager.CreateInstance (System.String path) [0x00000] in <filename unknown>:0 
  at FMOD_PlayOnEnable.OnEnable () [0x00000] in <filename unknown>:0 
 
(Filename: currently not available on il2cpp Line: -1)

EDIT:

I have removed the GooglePlayDownloader class for IOS Builds, now I am getting this:

EventNotFoundException: FMOD Studio event not found 'event:/Music/AmbientMain'
  at FMODUnity.OneshotList.SetParameterValue (System.String name, Single value) [0x00000] in <filename unknown>:0 
  at FMODUnity.RuntimeManager.CreateInstance (System.String path) [0x00000] in <filename unknown>:0 
  at FMOD_PlayOnEnable.OnEnable () [0x00000] in <filename unknown>:0 
 
(Filename: currently not available on il2cpp Line: -1)

(Mesut Özdogan) #4

Now I have added a manual bank load for the master bank and I am getting following error:
BankLoadException: FMOD Studio could not load bank ‘/var/mobile/Containers/Bundle/Application/DD7F6221-18D2-4F4E-A51F-D658D17DF130/ATAK.app/Data/Raw/Master Bank.bank’ : ERR_FILE_BAD : Error loading file.


(Mesut Özdogan) #5

Updating to Unity 5.3.2 has resolved the problem. I have no idea about the reason…


(Nicholas Wilcox) #6

My best guess is “(760943) - IL2CPP: Do not incorrectly free blittable arrays marshaled as [In,Out] parameters” meant that passing strings to FMOD resulted in getting garbage bank file names and event names.

“(754539) - iOS/IL2CPP: Correct stack traces in exception messages, which could sometimes miss managed frames.” is why none of your stack traces made any sense.