[Request] Additional/Improved sound functionality in BP

I am dealing with sound in the level BP at the moment and experience adding in and controlling sounds very limiting. Kismet was more capable it seems than BP in this regard, and I’d like to have more of the control in BP that I got from Kismet.

Issues:

  • No easy way to fade a sound in and out, like in Kismet. You can fade in if you use an actual sound actor in the level, but not if you are trying to play a sound entirely via level BP. Kismet was able to do this and it greatly reduced the time it took to set things up.

  • Play Sound Attached has an Audio Finished output, but the other ones such as Play Sound At Location does not. It is essential to have both a Finished and a regular output on any Play Sound function, like Kismet. I need easy access to when the sound ends.

  • Speaking of Audio Finished. Play Sound Attached requires me to create an Assign OnAudioFinished block to get this working. Ideally I’d just like a Finished output integrated in the actual Play Sound Attached function. If you have dozens of these play sounds in your BP, you don’t want them to consist of several blocks each. It’ll clutter up fast.

  • I have no way of stopping a sound that is currently playing, like in Kismet. Ideally you’d want to pause it also.

Basically, I just want the Play Sound from Kismet back. All the functionality that one had.

No easy way to fade a sound in and out, like in Kismet.
I have no way of stopping a sound that is currently playing, like in Kismet.

You can manipulate the audio component that is returned from PlaySoundAttached much the same as you can with a SoundActor placed in a level.

Play Sound Attached has an Audio Finished output, but the other ones such as Play Sound At Location does not.

Play Sound Attached is returning the AudioComponent that is created and attached. Currently Play Sound At Location is just a fire and forget sound and as such doesn’t have an AudioComponent. We did this because we wanted to reduce the AudioComponent churn, however, it has proven somewhat difficult for people who want to use the node. At some point in the not too distant future I am going to do something along the lines of adding a fire and forget Play Sound node that behaves the way the current At Location node does and make the At Location node create and return an AudioComponent like the Attached version does.

Ideally I’d just like a Finished output integrated in the actual Play Sound Attached function.

We want to add latent Play Sound actions at some point. I am still debating whether they would be entirely new nodes or a boolean property that indicates whether to block until finished.