a few minor changes needed.
audio play action not needed.
no need to store the current play time in a global variable.
Add a GameObject to your first loaded scene and call it MusicManager.
only add Don't Destroy On Load action.
In the inspector select the audio source
check play on awake and loop.
That's all you need if you wish the sound to play through all loaded scenes.
For me the sound did not stop and restart but played seamlessly.
I did not want this track to play at the same volume through every scene.
Using a global Int level set to zero
new state added to the MusicManager
int compare global level compare to 1
equal or greater than
every frame checked.
custom event lower music
new state lower the music
action: set audio volume I simply lower the value to 0.2.
The trick was the global value of level currently zero
one is added at runtime when you load the scene.
The MusicManager is still checking and moves you to the lower music state.
Sound is lowered instantly, a slow fade would be nice.
The volume begins at 1 and I set it to 0.2 this is noticeable.
Any advice on the best way to slowly fade from 1 to 0.2 would be very helpful