In Studio this works absolutely fine and can run in sync indefinitely.
In Unity, after pausing and unpausing the instance a few times the nested events all drift out of sync (the multi instruments are fine). After a while everything gets back in sync again, I suspect because all of the nested events have hit a loop point somewhere so playback of the instrument is starting again from the “right” place.
I’m using 2.02 so I’m wondering if this is caused by the virtual->real sync bug that was fixed in 2.03?
Based on what you’ve described, the virtual->real sync would be my first guess as the culprit, yes. The easiest way to verify this for yourself would be to set the priority of your event to “Highest”, which will ensure that all audio belonging to that event never virtualizes - if this resolves the issue, it’s almost certainly the virtual->real bug. It may also be worth setting the nested events to use “Highest” as well, just to be sure.
If this doesn’t resolve the issue, it definitely stands out that only the nested/referenced events are desyncing. Is the parent event, or any of the referenced events, subject to behavior that would cause virtualization? For example:
Volume automation that mutes instruments or audio tracks in the parent or referenced events
Spatialization that causes tracks/events to be far enough away to be muted
The desync only appearing in Unity when many events are playing at once, such that the FMOD system is hitting its real channel count and virtualizing audio in your event
Additionally, what exact versions of FMOD Studio and FMOD for Unity are you using?
I had also suspected this, and set the master and all nested events to Highest, but that didn’t help unfortunately.
I’ve double checked and there’s no volume/spatialisation stuff that would mute anything. I also ran this in a Unity test scene with no other events and got the same results - profiler indicates I’m nowhere near the voice limit.
Studio version is 2.02.13, FMOD For Unity is 2.02.17
If I have time today I’ll make a test scene/project with 2.03 to see if the issues go away
Happy to hear that the issue no longer occurs on 2.03! That said, event priority seemingly not affecting the issue in 2.02 leads me to think that the referenced events might be suffering from something different, but unfortunately I haven’t been able to reproduce the issue when testing on my end.
If possible, can I get you to upload a packaged 2.02 project containing the event that exhibits that behavior to your FMOD user profile so I can take a closer look? Note that you’ll have to register a project with us to do so.