Triggered event not coming back after having gone past its maximum distance

Let’s assume an event whose maximum distance is 4Km and it’s set via the spatializer override. The listener is fixed in the world, and the event is triggered within its range. You can hear the event as expected. The event then moves out of range (outside 4Km from the listener). You stop hearing the event as expected, but when the event moves back into range is not heard anymore. The only way to make it play again is to stop the instance and fire it again. Any ideas?

Using FMOD dll 2.2.3 and FMOD Studio 2.02.04.

I just removed the spatializer and the event is disappearing past 2Km all the same and it doesn’t come back until retriggered. I’m flabbergasted.

Isn’t it some stealing settings involved? (on the event, on a bus…)
What you describe isn’t the normal behavior, and I’m not able to replicate the issue in the sandbox. Maybe it is a bug in the built game caused by the FMOD_INIT_VOL0_BECOMES_VIRTUAL flag? Maybe try without it and see if it changes anything…

I don’t understand how the event could disappear based on distance without a spatializer, and if there’s no stealing involved…

Yes, there’s no stealing involved, everything else is default. I have VOL_0_BECOMES_VIRTUAL though, I’m going to try disabling it, but in case this fixes the issue, it would mean is a bug on the FMOD engine, right? Because virtual voices are supposed to keep playing.

I’m also surprised by the distance disappearing when there’s no spatializer involved, and the fact it’s only one event that exhibits the behavior. Others work fine.

Yes, they are supposed to!..

If the issue is induced by a kind of ressource management process, did you try to higher the event’s priority?

I tried disabling VOL_0_BECOMES_VIRTUAL and changing the priority to Highest and noticed no change. The sound still disappears at 2Km and doesn’t come back unless retriggered.

SOLVED: Inside my event I had a nested event that triggered different samples according to the Distance parameter, which was capped at 2Km. Somehow FMOD wasn’t doing what it always does that it still keeps triggering the sample even when the parameter exceeds the limit, as if the sample didn’t reached the end of the scale, which it did. Changing the limit to 4Km and back to 2Km solved the problem.

1 Like

When I look at the diff for the event, the cause is apparent: on the XML there is no record of the ending point of the sample, but only the start and length. A small insignificant digit on the far decimal places can make it not reach the end of the scale, thus stopping playback when the parameter reaches or exceeds that point.