[Switch] Unable to load banks

Hey there!

We’re currently porting a game to the Nintendo Switch and we are unable to load any kind of files.

The game is made with MonoGame, hence it is a C# game which use the wrapper found within the Unity Integration.

Everything works as intended on all platforms (inc. other consoles) but the Switch.

We keep running into ERR_FILE_NOTFOUND when calling loadBankFile().

We tried with, and without appending “rom:/” to the file path (and removed any trailing slashes).
The bank files are valid, and definitely exist within the file system because we are able to load them into a byte array using a FileStream and loadBankMemory() (which we’d like to avoid in favor of loading the banks async).

Is there anything we are missing so that FMOD actually finds bank files?

We’re running on FMOD 2.00.07 and NDK 9.3.0

We have also been unable to plug error callbacks, which seem to crash into invalid memory whenever an error occurs.


P.S.: here’s the log ouput (which makes me think that there is something wrong going on with the string conversion):

[ERR] assert                                   : assertion: 'FMOD_validate_utf8(src)' failed    
[ERR] RuntimeBankModel::openFile               : Failed to open file 'Ȓ■

Hey there!

After lots of investigation, we found out that the issue is within MonoGame’s IL2CPP.
I can’t enter into details publicly but I’m expecting that it’ll get fixed (we’ve been able to make FMOD to work perfectly).