How can I make a sound play only when the other has finished?

Hey there,

I am trying to learn the ins and outs of BPs for the last few months and I am trying to do a couple of scenarios that I will eventually use in a game that I am working on.

I created a event to interact with some objects and when you would interact with them you would hear some dialogue being played. When this dialogue would end you would be able to press again the object and hear a different dialogue.

I would like to know how would you guys go around blocking the input while the duration of the first sound wave si finished. I tried different ways, but none worked - and I am not yet that creative with BPs.

Something along the lines of - OnFinish Sound - Let me play the 2nd Sound. etc.

Hope someone can help me with this. Cheers!

There’s a few different options here. But I’ll just talk about the most primitive ways (not the best, but will work):

Use a delay node after the Play Sound 2d node, make the duration the length of the audio clip.

If you wanted to further the control, you could add a Boolean value after the “DoOnce” node, set it to true (the sound is playing), then after the delay node, set the Boolean value to false (sound is not playing).

Then you could run a Branch to see whether or not the Boolean is true or false, and execute based on that.

1 Like

Thanks a lot, the boolean solution worked like a charm and I created macros for each story dialogue that would be triggered by one object.
Cheers!

Now I need to find a easy way to create variants of one blueprint with different meshes in it.

1 Like

Saved my life bruh