Destionation marker callbacks not working with transition markers

I’ve setup some destination markers in an audio event, and am receiving callbacks in my Unity scripts for them unless there is also a transition marker on the exact same moment. It doesn’t seem to matter if the destination marker is above or below the transition marker, it seems to evaluate the transition first, and then never notify my script about the destination. Is this intended behavior, and is there any way to work around it? The sounds I’m working with are very specific, so I really don’t want to have the markers at different times to force the order of operations.

Thanks in advance!

Hi Affable_Jordan,

There was a fix in the latest version of FMOD Studio (1.10.11) regarding marker callbacks placed in the lead in and lead out of transition timelines. Please try again using the latest version of FMOD Studio and the FMOD Unity integration and let me know if you’re still experiencing the same issue.

Thanks,
Richard

Hey Richard,

I just updated my studio build to 1.10.11, and updated my unity integration to be the same, and the issue seems to still be there. I’ve setup my audio event as follows.The destination marker labeled “2” never seems to trigger a callback in code.

Thanks for clarifying.

Yes, in these situations the destination markers won’t generate a callback. I have added a suggestion to our task tracker to generate callbacks at the time of a transition. Thank you for bringing this to our attention.

As a workaround, you can nudge all destination markers left by 1 sample. The callbacks are not sample-accurate so it should not affect playback too much. Try the following:

First select the event in the event browser.

Then open Window > Console and run the following command (you can just copy and paste)

var ev = studio.window.browserCurrent();

var marker_tracks = ev.markerTracks;

marker_tracks.forEach(function(track) {
    track.markers.forEach(function(marker) {
        if(marker.entity === "NamedMarker") {
            marker.position = marker.position - (1/48000); // nudge left by 1 sample (at 48kHz)
        }
    })
})

This should nudge all named markers to the left by 1 sample. This is just enough to allow their callbacks to be generated without affecting any other aspect of the event.

Thanks Richard!

I’ve actually managed to extend your idea with some project specific requirements to automate a bunch of work. Works a treat!