[BUG] Couldn't find base folder with GUID 06a... when upgrading to 2.02.02

Hey there,

After upgrading our FMOD Unity integration to 2.02.02 from 2.02.00, we receive the following warning:

FMOD: Couldn't find base folder with GUID 06ae579381df01a4a87bb149dec89954; defaulting to Plugins/FMOD

While this seemed harmless, it resulted in our command line builds on our build machine to lose all their event references due to what I believe is the FMODStudioSettings asset being loaded after it’s referenced for the first time, as illustrated in this log:

[FMOD] Cannot find integration settings, creating default settings
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:Log (object)
FMODUnity.RuntimeUtils:DebugLog (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:513)
FMODUnity.Settings:get_Instance () (at Assets/Plugins/FMOD/src/Settings.cs:84)
FMODUnity.RuntimeUtils:DebugLogWarningFormat (string,object[]) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:535)
FMODUnity.RuntimeUtils:get_PluginBasePath () (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:499)
FMODUnity.EditorUtils:CleanObsoleteFiles () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:996)
 
(Filename: Assets/Plugins/FMOD/src/RuntimeUtils.cs Line: 513)

[FMOD] Cannot find properties for platform default, creating default properties
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:LogFormat (UnityEngine.LogType,string,object[])
UnityEngine.Debug:LogFormat (string,object[])
FMODUnity.RuntimeUtils:DebugLogFormat (string,object[]) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:521)
FMODUnity.Settings:AffirmPlatformProperties (FMODUnity.Platform) (at Assets/Plugins/FMOD/src/Settings.cs:838)
FMODUnity.Settings:AddMissingPlatforms () (at Assets/Plugins/FMOD/src/Settings.cs:526)
FMODUnity.Settings:OnEnable () (at Assets/Plugins/FMOD/src/Settings.cs:922)
UnityEngine.ScriptableObject:CreateInstance (System.Type)
UnityEngine.ScriptableObject:CreateInstance<FMODUnity.Settings> ()
FMODUnity.Settings:get_Instance () (at Assets/Plugins/FMOD/src/Settings.cs:85)
FMODUnity.RuntimeUtils:DebugLogWarningFormat (string,object[]) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:535)
FMODUnity.RuntimeUtils:get_PluginBasePath () (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:499)
FMODUnity.EditorUtils:CleanObsoleteFiles () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:996)
 
(Filename: Assets/Plugins/FMOD/src/RuntimeUtils.cs Line: 521)

[FMOD] Cannot find properties for platform playInEditor, creating default properties
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:LogFormat (UnityEngine.LogType,string,object[])
UnityEngine.Debug:LogFormat (string,object[])
FMODUnity.RuntimeUtils:DebugLogFormat (string,object[]) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:521)
FMODUnity.Settings:AffirmPlatformProperties (FMODUnity.Platform) (at Assets/Plugins/FMOD/src/Settings.cs:838)
FMODUnity.Settings:AddMissingPlatforms () (at Assets/Plugins/FMOD/src/Settings.cs:527)
FMODUnity.Settings:OnEnable () (at Assets/Plugins/FMOD/src/Settings.cs:922)
UnityEngine.ScriptableObject:CreateInstance (System.Type)
UnityEngine.ScriptableObject:CreateInstance<FMODUnity.Settings> ()
FMODUnity.Settings:get_Instance () (at Assets/Plugins/FMOD/src/Settings.cs:85)
FMODUnity.RuntimeUtils:DebugLogWarningFormat (string,object[]) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:535)
FMODUnity.RuntimeUtils:get_PluginBasePath () (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:499)
FMODUnity.EditorUtils:CleanObsoleteFiles () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:996)
 
(Filename: Assets/Plugins/FMOD/src/RuntimeUtils.cs Line: 521)

Start importing Assets/Plugins/FMOD/Resources/FMODStudioSettings.asset using Guid(15d04d556a5641641810c15503c0fdee) Importer(-1,00000000000000000000000000000000)
[14:39:13][Step 2/3] Done importing asset: 'Assets/Plugins/FMOD/Resources/FMODStudioSettings.asset' (target hash: '1a5ef9648ae517cc9ce1942cc8328d98') in 0.014542 seconds
[14:39:13][Step 2/3] FMOD: Couldn't find base folder with GUID 06ae579381df01a4a87bb149dec89954; defaulting to Plugins/FMOD
[14:39:13][Step 2/3] UnityEngine.StackTraceUtility:ExtractStackTrace ()
[14:39:13][Step 2/3] UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
[14:39:13][Step 2/3] UnityEngine.Logger:LogFormat (UnityEngine.LogType,string,object[])
[14:39:13][Step 2/3] UnityEngine.Debug:LogWarningFormat (string,object[])
[14:39:13][Step 2/3] FMODUnity.RuntimeUtils:DebugLogWarningFormat (string,object[]) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:537)
[14:39:13][Step 2/3] FMODUnity.RuntimeUtils:get_PluginBasePath () (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:499)
[14:39:13][Step 2/3] FMODUnity.EditorUtils:CleanObsoleteFiles () (at Assets/Plugins/FMOD/src/Editor/EditorUtils.cs:996)
[14:39:13][Step 2/3]  
[14:39:13][Step 2/3] (Filename: Assets/Plugins/FMOD/src/RuntimeUtils.cs Line: 537)

I’m confident that this was fixed by manually setting the folder’s GUID to what was expected, however this caused us a good headache for some time. Thought it would be worth raising as a bug!

Using Unity 2019.4.26f1 and FMOD Studio 2.02.02.

Thanks,

Alex

Thanks for letting us know about this. We have reproduced the issue here, and it looks like you’re right - it is due to Settings.Instance being accessed while assets are still being imported. We should have a fix in the next release.