Changing Min and Max Attenuation from Unreal's Inspector


Is there a way to make it so you can change the min and max distance settings on a spatialized event from the inspector in Unreal Engine 4?

I have a Blueprint with a FMODAudio Component and I would like to be able to set the attenuation distance differently for each instance of that Blueprint. The override attenuation checkbox seems to alter the attenuation for all instances and I also tried using the SetProperty node (on both construction script and event graph) with public variables feeding values to min and max distance, but that doesn’t seem to do anything really.

Thanks in advance!

Edit: I’m using UE4.25 and FMOD 2.01.05

As of the time of writing (February of 2021), we do not support automating the min and max distance properties of a spatializer effect. As automation is the only means we support for changing the values of event properties at run time on a per-instance basis, this means that there is no way to change the min and max distance of an event instance at runtime.

However, there are other methods that can be used to change the distance-based attenuation of an event on a per-event basis.

For example, you could automate the event’s volume on a parameter in addition to (or instead of) relying on the spatializer’s built-in attenuation, allowing your game’s code to affect the event’s volume directly.

Another possibility, if you only need a few specific min/max distance pairs, you could potentially add multiple sends and return tracks to the event, each with its own spatializer, and use automation to determine which return track’s signal (and thus which track’s attenuation) is audible.

Hi, thanks for the reply. I’m actually not looking to automate attenuation distance at runtime - apologies if that was unclear - just to set the attenuation distance per instance of an actor blueprint (containing both art assets and the event inside an FMOD audio component) through the inspector.

I only managed to make it work by dragging the event to the scene as its own actor and using the override distance attenuation to set the distances for each instance - but that doesn’t work to give different values per instance while using the FMOD audio component.

The idea you gave me to use sends and returns to multiple spatializers and automate their volume could work as a substitute, but it would make my workflow easier if there was a way to set and forget the values through the inspector.

Thanks again!

As I said, there is currently no way to do this on a per-instance basis.

That being said, we will add this feature in an upcoming release of FMOD Studio.

Got it, thanks a lot!