FMOD doesn't stop looping sounds when scene is reloaded

When Unity reloads a scene (e.g. after failing a level) FMOD doesn’t stop sounds from the “previous” scene. This will result in a looping sound playing in the reloaded level in the place it was at when the level was reloaded. The sound is not attached to anything anymore so you can’t turn it off at that point. Is there some workaround for this?

How are you playing the sounds? Are you using FMOD Studio Event Emitters or handling them manually with the RuntimeManager.PlaySound?
If you are using FMOD Studio Event Emitters then you can set the “Stop Event” to “Object Destroy” and that will stop the sounds from persisitng between scene loads.
Otherwise if you are using the RuntimeManager I have found that calling ChanelGroup.stop() on the master channel group before a scene load stops everything from playing.

FMOD.ChannelGroup mcg;
FMODUnity.RuntimeManager.CoreSystem.getMasterChannelGroup(out mcg);
mcg.stop();
SceneManager.LoadScene("MyScene");
1 Like