I’ve got a problem with sounds stopping when the leave the falloff distance. I’ve made sure that the* “Allow Virtualized Sounds”* is checked, and that “Always Play” is check in the Master Bus. However, the sound still stops.
I’ve scoured the forums, Googled, and I did find a record of this happening in previous builds. The fix I’ve found that works is to override the attenuation, which is blah ok I’ll do it but I’d rather not. Is this a known issue with 4.19.2 that I missed? Is there an obvious fix that I’ve overlooked?
I’ve referenced the following documentation here, here, and here and as I said nothing from these topics have fixed the issue.
Any help pointing me in the right direction would be greatly appreciated.
Had the same issue and for some reason only working with sound queues. I did not change anything in the sound queue just put the wav file in it, weird.
So when using Metasounds I’ve found that it doesn’t care about looping settings (any of them) or the virtualization settings. The only way I’ve found to make this work is the following:
You need to first delete the “One Shot” interface on the left. This will get rid of the “output” node. That’s fine. Then drag off from the node that would have plugged into it and promote it to a graph variable. The right click to where the input is and get a delayed reference to that variable. Its important that you choose the “delayed” version or it wont let you connect it.
Adding to this thread because the MetaSounds answer was not correct.
As said before, the solution is to change the Virtualization Mode to “Play When Silent.”
For meta sounds, the Virtualization Mode option still exists. Simply press the “Source” button in the top left to get access to the sound settings from the parent class. Then, in the details in the bottom left, there’s your Virtualization Mode setting.
I’m still learning and may be totally off my mark, so I had a question here – isn’t “Play When Silent” versus removing the OneShot Interface just different, not wrong? It seems like they are doing two different things:
Play When Silent states it prevents virtualization and will continue to use a voice until concurrency or channel limits/priority take over (in which case it will restart the sound the next time).
The benefit here is when entering/exiting the attenuation range, the sound will usually pick up where it would be at had it been playing the whole time. This could be good for synchronization or longer ambient tracks.
The OneShot interface seems to be almost like a marker that helps reinforce this is a sound that should be a one-shot and helps ensure it will eventually get cleaned up and not stuck/leaked. A non-OneShot sound, like when looping, needs to maintain some kind of reference so that it eventually can get stopped. I got that information from this post: Why does Metasound oneshot interface loop UE5.1? - #2 by Minus_Kelvin
The benefit with the option of removing the optional OneShot interface is that you can keep the virtualization mode set to Restart, and the sound loop will just simply start playing from the beginning again when you re-enter attenuation range, which may be fine for some audio loops.
I’m not sure what kind of performance impact there is for maintaining multiple voices (Play When Silent). I’m assuming there is some impact, and so it becomes a balance of performance vs. any disruption should your sound loops be restarting versus continuous playback, which would be situational. Either way, I would think OneShot could be removed independent of Play When Silent vs Restart if this is some kind of ambient loop.
I may be missing some nuance here! Please feel free to clarify anything I’ve misstated. Just trying to cobble together what I can find from posts and documentation in case anyone else stumbles upon this