Why doesn't sound concurrency work on my sound cues?

I have some player footstep and foley sound cues that are triggered through a Blueprint that creates a fake step loop (as there are no player animations in my project). I’ve set up sound concurrency and applied it to them with a ridiculous max of 50 (just to make sure). However each time the cues are triggered, playback of the previous sound selected stops and is replaced with the new one.
TLDR: Concurrency settings are doing nothing. Sound cues are not playing concurrent sounds.

Note: The concurrency setting is applied to the audio components, the sound cues and the “Play” nodes in my Blueprint, but sounds are still always replaced.

Running version 4.15.

The concurrency feature has always operated on “Active Sounds” – i.e. the whole sound cue vs individual sounds generated in the sound cue. This was a legacy aspect when I refactored the concurrency system for greater control. I’d like to add “wave instance” level concurrency in the future.

If you need mutually limited sounds, it might be best to break them out into individual sound waves or different sound cues until such a wave-instance level concurrency feature exists.

Also note that there is an inherent “global” concurrency limiter (you can only play 32 sounds at once by default) that sorts based on a “volume” times “priority” value. I.e. if you have a very quiet sound but higher priority sound, it’ll have a higher chance of getting stopped vs a sound which is loud but lower priority. The theory is louder sounds are inherently more priority. You can change this by setting the priority value of your sounds (individually) to higher values (floating point values up to 100).

Thanks Minus_Kelvin. I will try to break things into more cues to prevent the sounds from being cut off. It seems odd to me still though that there isn’t a simple way to just allow each sound to play out without being cut off each time the cue is called.

It must be something in the way I’ve set up the Blueprint, because I just opened up another project and crammed in a bunch of notifies for the same sound cue on the default mannequin ThirdPersonRun animation. When it’s an animation notify the same sound cue overlaps with itself the way I’d like it to for my original post.

Maybe it’s that there can only be one sound playing at a time with the ‘Play’ node in Blueprint? Or something similar to that… I imagine there’s a simple solution.

Ah I see. This clears things up for me. Thank you for the insights. Cheers :slight_smile:

Ah, I misunderstood your original question – if you’re reusing the same audio component, it will stop the sound on the audio component before playing a new sound. That’s probably what you’re running into.

Think of audio components as “handles” to a playing sound (or active sound), which may be multiple wave instances if you’re playing a sound cue that has multiple wave players feeding into a mixer node. You can only have 1 handle to 1 active sound, otherwise how would you know what sound to set volume/pitch, etc, to. If you want multiple sounds to play considering using multiple audio components (with the SpawnSound commands) or using PlaySoundAtLocation if you want to not deal with audio components.

Piggybacking off this old post, has there been any changes to concurrency with the new Unreal Audio Engine? Being able to cull wave instances dynamically instead of just whole cues seems like it would be a lot more useful and was how I originally thought it worked. Explains why using multiple ambient cues with a lot of waves inside them quickly eats up memory.

No, no changes.