We use Fmod track in Timeline and it freeze Unity Editor when entering play mode.
Let me explain with more details:
Unity version 2020.1.17f1
Fmod version 2.01.07
- Open Timeline window with FMOD track and FMOD clip on it
- Enforce creating new RuntimeManager (I move preview line to do this) in Editor Mode
- Enter Play mode
- Exit Play mode
- Go to Timeline window again and enforce creating new RuntimeManager
- Enter Play Mode
- Infite hold is reached
I made some investigation and added some logs which lead me to the method
FMOD.Memory.GetStats(out temp1, out temp2);
FMODUnity.RuntimeUtils:EnforceLibraryOrder() (at Assets/Plugins/FMOD/src/Runtime/RuntimeUtils.cs:365) FMODUnity.RuntimeManager:get_Instance() (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:100) FMODUnity.RuntimeManager:PathToGUID(String) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:1041) FMODUnity.RuntimeManager:CreateInstance(String) (at Assets/Plugins/FMOD/src/Runtime/RuntimeManager.cs:1054) AudioSourceContainerFMOD:.ctor(String, Transform, Rigidbody2D) (at Assets/Scripts/Core/Audio/FMOD/AuduioSourceContainerFMOD.cs:44) AudioFMOD:Create(String, Boolean, Transform, Rigidbody2D) (at Assets/Scripts/Core/Audio/FMOD/AudioFMOD.cs:103) AudioController:CreateInternal(String, Boolean, Transform, Rigidbody2D) (at Assets/Scripts/Core/Audio/AudioController.cs:144) AudioController:Create(String, Boolean, Transform, Rigidbody2D) (at Assets/Scripts/Core/Audio/AudioController.cs:98) ThrowableItem:Awake() (at Assets/Scripts/World/PhysicalObject/ThrowableItem.cs:55)
Looks like main thread is blocked by this method.
I also found that this method has parameter = blocking, which is always true.
I tried to make it false, and infinite loop has gone.
But such solution doesn’t look reliable.
Could yu provide more reliable solution?