Best practice for playing back dozens of sounds of the same event at runtime

I ran into an issue where setting max instance is not working properly as the events are placed on the level as event instances thus they start at the same time. Let’s say I put down 30 of the same event, with the max instance set to 5, only 5 would start out of those 30. Setting the stealing to furthest doesn’t work here for some reason. The 5 event gets selected randomly and upon approaching a closeby event thats not playing it doesn’t get triggered. Is There any way to go around this issue?

FMOD 2.02.14
UE 4.27

Just to clarify, are you saying that the distance-based stealing priority isn’t working, or that your event instances aren’t restarting when an inactive instance becomes one of the closest five instances to the listener? If it’s the latter, this is expected behavior. The “Furthest” stealing mode is only responsible for stopping the furthest playing instances above a certain instance count, and will not automatically restart stopped instances - you will need to restart them yourself.

The stealing mode you’re likely looking for is the “Virtualize” mode, which will set the quietest instances above the max instances limit to be “virtual”, meaning that the FMOD system will continue to track playback and event behaviors, but will produce no output, saving on CPU usage. When a virtual instance is no longer the quietest, it will become “real” and begin producing output again. Using virtualization, while the “quietest” instance isn’t exactly the same as “furthest” instance, if you’re spatializing your event instances the outcome should be functionally similar.

I would recommend taking a look at the Stealing and Virtualization sections of the Studio docs for more info.

Perfect thank you!

As a sidenote, because you will most likely ask yourself the same question at some point, we had a discussion about culling/virtualization in 2023. Hope this gives you some more answers on the subject.