Unity version: 2021.3.45f1
FMOD For Unity: 2.02.26
SWITCH SDK: 17.5.3
When I run the build on the Switch DevKit, I get the following exception. Is there a way to fix it?
Error log
NotImplementedException: Plugins are not implemented on platform dc6af03a6d487a943bd07c6a5a1aafcc
at FMODUnity.Platform.GetPluginPath (System.String pluginName) [0x00011] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\Platform.cs:510
at FMODUnity.Platform.LoadDynamicPlugins (FMOD.System coreSystem, System.Action2[T1,T2] reportResult) [0x00037] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\Platform.cs:537 at FMODUnity.Platform.LoadPlugins (FMOD.System coreSystem, System.Action
2[T1,T2] reportResult) [0x00004] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\Platform.cs:516
at FMODUnity.RuntimeManager.Initialize () [0x00419] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\RuntimeManager.cs:405
at FMODUnity.RuntimeManager.get_Instance () [0x000bb] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\RuntimeManager.cs:207
at FMODUnity.RuntimeManager.get_StudioSystem () [0x00001] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\RuntimeManager.cs:225
at FMODUnity.StudioListener.AddListener (FMODUnity.StudioListener listener) [0x00066] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\StudioListener.cs:91
at FMODUnity.StudioListener.OnEnable () [0x0009c] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\StudioListener.cs:121
Rethrow as SystemNotInitializedException: [FMOD] Initialization failed
at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
at FMODUnity.RuntimeManager.SetListenerLocation (System.Int32 listenerIndex, UnityEngine.GameObject gameObject, UnityEngine.GameObject attenuationObject) [0x0003c] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\RuntimeManager.cs:1412
at FMODUnity.StudioListener.Update () [0x0011a] in D:\Ikina\Origin\Assets\Plugins\FMOD\src\StudioListener.cs:170
The error indicates that the target platform likely hasn’t been set up in FMOD for Unity’s settings. You can create Switch-specific platform settings and link static plugins built for the Switch in FMOD → Edit Settings → Platform Specific.
The settings mentioned in the message have already been configured. Please let me know if there’s anything else I should check or adjust.
Thanks for providing that screenshot.
Switch only supports static plugins, not dynamic, so I’d recommend ensuring that your plugins are build as static libs, and are added to the “Static Plugins” list instead of the “Dynamic Plugins” list. You can read more about linking static plugins in the Static Plugins section of the FMOD for Unity docs.
"Thank you for your response. As per your guidance, I referred to the manual and configured the static plugins. I’m sharing a screenshot of the setup.
However, after building, I encountered the following error. Is there anything additional I need to address?"
switch_error.txt (3.1 KB)
From what I can see in that file, the error is completely unrelated to FMOD, so unfortunately I can’t be of any help.
Thank you for your response. May I share a new error log with you to see if it provides more insight?
[FMOD] switch error_20250113.txt (23.8 KB)
Also, regarding the tutorial section:
9.2 Static Plugins
FMOD for Unity supports loading static plugins when running on the IL2CPP scripting backend. This is the only way to load plugins on platforms that don’t support dynamic libraries (such as iOS, tvOS, and Nintendo Switch).
The Static Plugins list in the FMOD for Unity settings specifies which static plugins to load at initialization time. Add the name of the plugin’s _GetDSPDescription function or functions (for example, FMOD_ResonanceAudioSource_GetDSPDescription, FMOD_ResonanceAudioSoundfield_GetDSPDescription, and FMOD_ResonanceAudioListener_GetDSPDescription), and FMOD will generate C# code to load the plugin.
While this explains static plugins, I couldn’t find details on how to create them. Could you please provide guidance on how to do this?