UE4 Nintendo Switch: Issues with Loading Banks

Hey,

On any UE4 Nintendo Switch Build, when calling FMOD::Studio::System’s “loadBankFile” it fails.
This is only on switch, but not on other platforms.

as an example, these are the paths used when calling loadBankFile; to load the master bank.

[PS4] /app0/projname/content/FMOD/Desktop/Master.bank" - Works
[PC & XBONE] FPaths::ProjectContentDir() + "FMOD/Desktop/Master.bank" - Works

but when attempting to use the Switch’s Mount name for the bank path:
[Switch] "rom:/Projname/Content/FMOD/Desktop/Master.bank" - Doesnt Work

using this path causes a low level crash on OpenFile within UE4/Switch. The Log outputs this aswell when the crash occurs:

FS_ACCESS: { start: 328951377, end: 328951377, result: 0x0035F202, handle: 0x0000000000000000, priority: Normal, function: "OpenFile", path: "cache:/___UE4_Short___/ShortRegistry.bin", open_mode: 0x1 }
****** FS ERROR INFORMATION ******
Error: Error occurred at OpenFile().
nn::fs::ResultNotMounted: Error: Specified mount name is not found.
Abort: 'nn::Result::IsSuccess()' in OpenFile() at pid=167, tid=4752(GameThread)
D:\home\teamcity\work\sdk\Programs\Chris\Sources\Libraries\fs\fsa\fs_UserFileSystem.cpp(148)
Failed: nnFsResult
  Module: 2
  Description: 6905
  InnerValue: 0x0035f202

Is there a specific path we need to pass in to this function for this to work on switch?

Regards,
Maxwell G

This is no longer an issue, The way I was constructing the paths for switch was incorrect.

If it helps, You need to use “GetSwitchPathManager().ConvertToSwitchPath()” on UE4 to get the correct mounting name prefix for the path.

Thanks!

1 Like