Unity failed to retrieve banks on OSX

Hey,
Using Unity 2019.4.18f1 and fmod 2.01.05.
Works fine on windows.
Just build a setup on OSX 10.13.6. Cloning the git repository and launching unity and fmod.
Fmod session is fine, everything is the same. Live update is working. Unity FMOD menu is even showing the fmod events folders, playing events individually is working fine.
But on scene launch in Unity, it can’t find the events .

Strange thing : it worked once without changing anything, and bugged again…

[FMOD] FMOD_OS_File_Open : fopen failed to open ‘…\FmodProject\RBook_fmod\Build/Desktop/Master.strings.bank’, errno = 2

UnityEngine.Debug:LogError(Object)
FMODUnity.RuntimeManager:DEBUG_CALLBACK(DEBUG_FLAGS, IntPtr, Int32, IntPtr, IntPtr) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:37)

[FMOD] RuntimeBankModel::openFile : Failed to open file ‘…\FmodProject\RBook_fmod\Build/Desktop/Master.strings.bank’

UnityEngine.Debug:LogError(Object)
FMODUnity.RuntimeManager:DEBUG_CALLBACK(DEBUG_FLAGS, IntPtr, Int32, IntPtr, IntPtr) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:37)

also

BankLoadException: [FMOD] Could not load bank ‘…\FmodProject\RBook_fmod\Build/Desktop/Master.strings.bank’ : ERR_FILE_NOTFOUND : File not found.
FMODUnity.RuntimeManager.loadedBankRegister (FMODUnity.RuntimeManager+LoadedBank loadedBank, System.String bankPath, System.String bankName, System.Boolean loadSamples, FMOD.RESULT loadResult) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:730)
FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:826)
FMODUnity.RuntimeManager.LoadBanks (FMODUnity.Settings fmodSettings) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:885)
UnityEngine.Debug:LogException(Exception)
FMODUnity.RuntimeManager:LoadBanks(Settings) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:915)
FMODUnity.RuntimeManager:Initialize() (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:316)
FMODUnity.RuntimeManager:get_Instance() (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:113)
FMODUnity.RuntimeManager:get_StudioSystem() (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:136)
FMODUnity.RuntimeManager:GetBus(String) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:1140)
Abrakam.Core.Audio.AudioService:Awake() (at Assets/Abrakam/Scripts/Core/Audio/AudioService.cs:88)
UnityEngine.GameObject:SetActive(Boolean)
Zenject.ProjectContext:InstantiateAndInitialize() (at Assets/Plugins/Zenject/Source/Install/Contexts/ProjectContext.cs:168)
Zenject.ProjectContext:get_Instance() (at Assets/Plugins/Zenject/Source/Install/Contexts/ProjectContext.cs:56)
Zenject.SceneContext:RunInternal() (at Assets/Plugins/Zenject/Source/Install/Contexts/SceneContext.cs:128)
Zenject.RunnableContext:Run() (at Assets/Plugins/Zenject/Source/Install/Contexts/RunnableContext.cs:36)
Zenject.RunnableContext:Initialize() (at Assets/Plugins/Zenject/Source/Install/Contexts/RunnableContext.cs:22)
Zenject.SceneContext:Awake() (at Assets/Plugins/Zenject/Source/Install/Contexts/SceneContext.cs:113)

And last one

BusNotFoundException: [FMOD] Bus not found ‘bus:/’
FMODUnity.RuntimeManager.GetBus (System.String path) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:1142)
Abrakam.Core.Audio.AudioService.Awake () (at Assets/Abrakam/Scripts/Core/Audio/AudioService.cs:88)
UnityEngine.GameObject:SetActive(Boolean)
Zenject.ProjectContext:InstantiateAndInitialize() (at Assets/Plugins/Zenject/Source/Install/Contexts/ProjectContext.cs:168)
Zenject.ProjectContext:get_Instance() (at Assets/Plugins/Zenject/Source/Install/Contexts/ProjectContext.cs:56)
Zenject.SceneContext:RunInternal() (at Assets/Plugins/Zenject/Source/Install/Contexts/SceneContext.cs:128)
Zenject.RunnableContext:Run() (at Assets/Plugins/Zenject/Source/Install/Contexts/RunnableContext.cs:36)
Zenject.RunnableContext:Initialize() (at Assets/Plugins/Zenject/Source/Install/Contexts/RunnableContext.cs:22)
Zenject.SceneContext:Awake() (at Assets/Plugins/Zenject/Source/Install/Contexts/SceneContext.cs:113)

Seems I needed to tick the “load sample bank data” box. Don’t know why I don’t need this on windows. Anyway, that’s working now. cheers

I’m recognising some of the same error messages here. Using Unity 2020.1.17(It’s an older project that we’re revamping with FMOD, am I in need of upgrading?) and FMOD Studio 2.02.07 (need I a downgrade?)
More specifically I’m getting the following messages:

[FMOD] FMOD_OS_File_Open : fopen failed to open 'Assets/_content/audio/FMOD Banks/Desktop/Desktop/Master.strings.bank', errno = 2

and

[FMOD] RuntimeBankModel::openFile : Failed to open file 'Assets/_content/audio/FMOD Banks/Desktop/Desktop/Master.strings.bank'

and

BankLoadException: [FMOD] Could not load bank 'Assets/_content/audio/FMOD Banks/Desktop/Desktop/Master.strings.bank' : ERR_FILE_NOTFOUND : File not found.
EventNotFoundException: [FMOD] Event not found: {ca6e7613-566f-484f-939b-26ee2970436b} (event:/Amb/General/TwinkleBobTiles)
[FMOD] FMOD_OS_Net_Read : read failed with errno 9
[FMOD] ProfileClient::recvThreadLoopFunction : Recv thread loop returned 43

Banks are exported to Assets/_content/audio/FMOD Banks/Desktop, which is what the Unity’s FMOD settings are pointed to.
It seems to me something went wrong with importing the integration package or something, but what?
It’s seems strange to me, since Unity seems to have established a (live) connection with FMOD Studio. The Fmod Studio Cache file in the Unity Assets lists all banks that I’ve made, and I can choose FMOD events in the Emitters. I switched on Load Bank Sample Data, but no improvements from that either.
What a I missing here?

I would double check the FMOD-Unity ‘Bank Import’ settings, and make sure that it is pointing to either the Desktop folder (for Single Platform Build) or the FMOD Banks folder (for Multiple Platform Build).

Thanks for the reply!
This possibly happened because I had it set to Asset Bundle since we’re building for Oculus Quest 2 and were considering using addressables. But we’ve settled on trying to do it without addressables first since FMOD already does voice management. @cameron-fmod How big would you consider the added value of using Unity’s addressables with FMOD banks? When would you consider using it? Sorry to go offtopic.

We added support for addressables so that anyone using them can still use FMOD, we don’t have any recommendations as to whether or not anyone should use them. That comes down to your project/team.
https://docs.unity3d.com/Packages/com.unity.addressables@1.20/manual/index.html

1 Like