Send changes when parameter is changed from local to global?

I want to have 2 different reverbs. Small and large.
The idea is to detect room size and then send, from the event (footsteps in this case), to the corresponding reverb, depending on the detected room size. I want real 3d position of the reverb.
I also want to be able to control how much reverb is being sent, by distance.

I have a parameter called “PlayerRoomSize”.
When the paramter is above 200, a reverb (large) send on the event should be turned up. When below 200, the reverb send should be turned down.
(and small reverb turning up, but have removed this functionality so it’s easier to explain stuff).

I have a send on the master channel of the event. I automate that with the “PlayerRoomSize” parameter and also with the “Distance” parameter (built in).
The idea is to have control over how much reverb is being sent over distance and also adjust it depending on the size of the room.

This works if the parameter called “PlayerRoomSize” is set to local, but doestn work when set to global (inside FMOD).

I plan on having lot’s of sounds use this system and I don’t want to have to “event instance set parameter”, on all the different sounds. I would like to just have a global value depending on the size of the room the player is in.

If set to global in FMOD, the send is greyed out and sends no matter what. If not set to global it works fine.

Is this intended? Why? How can I work around this?

I thought about using the global parameter and then letting that affect another parameter inside FMOD and set that to local, but it turns out that when you do that, the new parameter becomes read only and doestn move.

When you say “it doesn’t work,” what actually happens? When I test here, global parameters and local parameters are equally able to automate send values.

The send being greyed out indicates that it is is automated on more than one parameter. Whether those parameters iare global or local is irrelevant.

When a send level is automated on more than one parameter, if any of the curves’ values is -∞, the combined value is -∞; otherwise, curve values are summed to determine the value applied to the send.

Did some further testing:
It works. But as soon as you convert your effect chain into a preset, it doesn’t.

Try this:

-Set up a new event called TestTone (or whatever).
-Make a new continous parameter called RoomSize. Make it global
-In your mixer, make 2 reverb returns. 1 called RevSmall and one called RevLarge.
-On the distance parameter, set both sends to be the following:
-In the Roomsize, set sends to be the following:

-Press play (looping) andplay around with the RoomSize parameter and observe the mixer and see that the sound is being sent either to RevSmall or RevLarge depending on parameter value.
Convert the sends etc to a preset like this: Add effect chain on master track. Pull both of your sends into the Effect Chain.
-Press play again and observe that now, the sound is being sent to both sends all the time, no matter the RoomSize parameter value.


I’m afraid I haven’t been able to reproduce this issue at all; when I try the reproduction steps you described, the sends respond to their automation correctly, no matter what value I set the global parameter’s value to.

I suspect I must be missing some vital step that’s necessary for this behavior to manifest. Are you able to upload a copy of a project that exhibits this bug to the uploads section of your profile page, so that we can analyze it in depth?

I have just uploaded a project to my profile.
You can see that there are 2 events. One that has the sends as part of an effect chain preset (that doestn work) and another event that has no effect chain preset, but the same sends, and this does work.

Move the “RoomSize” parameter back and forth and take a look at the mixer - reverb return channels and see the different behaviour.

Thanks a lot for looking into this! :slight_smile:
Really looking forward to a solution or explanation (if this is intented behaviour)

Thank you for uploading a version of your project.

Unfortunately, I am still not able to reproduce the behavior you describe. When I test with your project in FMOD Studio version 2.02.22, adjusting the global parameters does alter which return buses the signal is sent to: Setting the “Distance” parameter to any value above 1 prevents any audible signal from being sent to either of the return buses, and when “Distance” is at a lower value, changing the “RoomSize” parameter changes which return bus receives an audible signal.

It’s possible that this issue only affects certain version of FMOD Studio. Which version are you using?

I was on 2.02.15 and it wasn’t working. Updated to 2.02.21 and it is now working. Must have been a bug then. Glad that you fixed it.
Thanks for taking the time to look into it.

I’m glad to hear you were able to find a fix for the issue.