Missing sound interrupts timeline

Hello!

I had an issue earlier that luckily I was able to resolve by now but I still came here to check in if it is intentional.

My issue was that a Unity timeline wasn’t playing. This was a problem because it caused the timeline to freeze, so it was a crucial game-breaking bug. After some initial confusion and finally looking at the console logs, I found this error message:

EventNotFoundException: [FMOD] Event not found: {7f8b975d-a95b-4c3c-94e5-ea1e2a8f15a6} (event:/Character/PLR/Plane/PLR_Planeengine)
FMODUnity.RuntimeManager.GetEventDescription (FMODUnity.EventReference eventReference) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:1314)
FMODUnity.FMODEventPlayable.CreatePlayable (UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject owner) (at Assets/Plugins/FMOD/src/FMODEventPlayable.cs:100)
UnityEngine.Timeline.TrackAsset.CreatePlayable (UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject gameObject, UnityEngine.Timeline.TimelineClip clip) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TrackAsset.cs:1190)
UnityEngine.Timeline.TrackAsset.CompileClips (UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject go, System.Collections.Generic.IList1[T] timelineClips, UnityEngine.Timeline.IntervalTree1[T] tree) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TrackAsset.cs:809)
UnityEngine.Timeline.TrackAsset.CreateMixerPlayableGraph (UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject go, UnityEngine.Timeline.IntervalTree1[T] tree) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TrackAsset.cs:883) UnityEngine.Timeline.TrackAsset.CreatePlayableGraph (UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject go, UnityEngine.Timeline.IntervalTree1[T] tree, UnityEngine.Playables.Playable timelinePlayable) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TrackAsset.cs:786)
UnityEngine.Timeline.TimelinePlayable.CreateTrackPlayable (UnityEngine.Playables.PlayableGraph graph, UnityEngine.Playables.Playable timelinePlayable, UnityEngine.Timeline.TrackAsset track, UnityEngine.GameObject go, System.Boolean createOutputs) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TimelinePlayable.cs:204)
UnityEngine.Timeline.TimelinePlayable.CompileTrackList (UnityEngine.Playables.PlayableGraph graph, UnityEngine.Playables.Playable timelinePlayable, System.Collections.Generic.IEnumerable1[T] tracks, UnityEngine.GameObject go, System.Boolean createOutputs) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TimelinePlayable.cs:147) UnityEngine.Timeline.TimelinePlayable.Compile (UnityEngine.Playables.PlayableGraph graph, UnityEngine.Playables.Playable timelinePlayable, System.Collections.Generic.IEnumerable1[T] tracks, UnityEngine.GameObject go, System.Boolean autoRebalance, System.Boolean createOutputs) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TimelinePlayable.cs:125)
UnityEngine.Timeline.TimelinePlayable.Create (UnityEngine.Playables.PlayableGraph graph, System.Collections.Generic.IEnumerable`1[T] tracks, UnityEngine.GameObject go, System.Boolean autoRebalance, System.Boolean createOutputs) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TimelinePlayable.cs:94)
UnityEngine.Timeline.TimelineAsset.CreatePlayable (UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject go) (at ./Library/PackageCache/com.unity.timeline@6b9e48457ddb/Runtime/TimelineAsset.cs:409)
UnityEngine.Playables.PlayableAsset.Internal_CreatePlayable (UnityEngine.Playables.PlayableAsset asset, UnityEngine.Playables.PlayableGraph graph, UnityEngine.GameObject go, System.IntPtr ptr) (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

And then separately

PlayableAsset returned a null Playable on Instantiate
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

After talking to my team I found out that someone moved a sound into a new bank which was not loaded at the time this cutscene plays, thus the timeline tries to play an invalid sound and stops.

Now, the underlying issue of course was user error, the cutscene shouldn’t have used that sound or the setup should be different and we were able to resolve this.

But I’m very confident that a missing or invalid sound should not be able to cause a crucial gamestopping bug like this. Of course the error message should remain as is to alert you that something is wrong - but I’d expect the cutscene to just skip playing that sound then and proceeding without it.

Maybe there isn’t anything you can do, after all I don’t know how FMOD and Unity communicate in that regard - I just thought I’d mention it for the future to prevent others from the risk of running into a problem like this.

That’s all, everything else about FMOD is truly awesome. Thanks for the good work!

  • Niklas