How to share a series of effects across multiple events?

I’ve just started testing out FMOD as I’m thinking of using it for my game. it seems pretty good so far, except I’m having a hard time figuring out how to achieve something that seems like it should be pretty simple.

In my testing I created a 3D event that does the following to a sound:

  • It creates a very slight delay in the left or right output depending on source position
  • It applies a slight low-pass filter when the source is behind the listener
  • It applies a slight reverb when the source is far away
  • The spatializer’s 2D pan mix value decreases as the source reaches its max distance

What I want to do is have all the 3D sounds in the game share these properties. Now I’m not sure if I’d actually end up using all the specific effects in this test in the game, but I just want to know that I can create a series of effects that most of my events use, as I want a consistent sound quality to the game that can better help players identify where sounds are coming from and that can give the game a more unique sound identity.

What I would expect to be able to do is something like create a base event, use that event as an event instrument in other events, and send audio in the other events to the base event instrument’s first track OR override the base event instrument’s first track instrument with some other instrument, where it would then go through all of its effects. This way, should I ever need to make adjustments to these effects, I could just change the base event without having to worry about those changes not applying to other events. Just copying and pasting these effects into every event would be way too messy.

Really hoping FMOD has some way of doing this that I just haven’t found yet. Any help is appreciated!

The tool you are looking for is called “preset effect chains.”

A preset effect chain (or just “effect chain” for short) is a collection of effects that can be inserted into any signal chain in your project. Like preset effects, every instance of an effect chain in a signal chain shares the properties of the preset effect chain on which it is based, meaning that if you make a change to any property of any effect in the effect chain (for example, by adding an automation curve to it), that change will be reflected in every instance of that effect chain throughout your project.

You can create an manage effect chains in the effects browser of the preset browser window.

Thanks, that’s close enough to what I was looking for!