I have a room with switchable materials setup on different surfaces. Is there a way to have the action of switching a material change a reverb effect parameter assigned to my audio volume? For clarity, I’m not looking for an activation sound from the material, rather to have it affect the ‘acoustics’ of the space. Hoping to achieve this in native UE5 alone.
Hello!
As far as I am aware, the reverb is controlled by a Sound Attenuation. I couldn’t find much about reverb within a Sound Cue. So to change the reverb effect with an event in blueprints you simply need to do the following:
- Create a custom event, I named my custom event to Event To Change Reverb
- Reference your Sound Attenuation and use Get Attenuation.
- From Get Attenuation use Set members in SoundAttenuationSettings to change the parameters you wish.
Note: Normally there is a Set Attenuation that you would use after the Set members in SoundAttenuationSettings, but I can’t find it. So perhaps you can skip it in this case.
Thanks for the reply - super new to UE. For clarity, I’m talking about an Audio Volume (area to assign reverb effects) as opposed to sound volume of cues etc. Is it then possible to change the reverb effect parameters by reference the event? Does that make sense?
Hey! Yeah that is not much different. Here is a rundown for this:
I have added a variable and got the Audio Volume Object What you would want to do is to either do the same or reference the Audio Volume if it is placable in the game. Alternatively assign the Default Value that can be found to the most right side. The Set Reverb Settings node can be found when dragging from the Audio Volume variable node.
Awesome! I also found this method using Resonance Audio. Though I’m wondering if the input for ‘Index 2’ can be changed with an action as opposed to needing three different Array inputs with the single index changed to correspond to a material change.
You could use a For each loop. What it does is that it takes each index and modifies it depending on whatever you put in the execution loop. It’s a very fast process and I think it would work great in your case.