Setting master volume

I want to set the master volume but setting the volume of the master VCA doesn’t seem to do anything. The only way I got this to work is to nest the other VCAs (music, sfx, vo) in the master VCA. That works, but is that the right way to do it? Seems odd. Or should I do this with nesting BUSs?

I’m using the C API.

What do you mean by the “master VCA?” Is this a VCA you have created and assigned the master bus to?

Not sure if that’s related to the original question, but I previously thought it was impossible to assign the master bus to a VCA. What confused me is the fact this right click does work for assigning any bus to a VCA, but doesn’t work for assigning the master bus:

But I finally found out it’s possible in the routing section.

Related to this… what are best practices for setting volume of a category? I have (for example) a music group nested in a music VCA. Should I be setting the volume on bus:/music or vca:/music? Why would you use on over the other? Is there some good docs can talk about how best to do this?

For one unique bus, it’s almost the same. But VCAs offer some more advantages. Maybe you want your music bus to be set (for mixing reasons) to -2 dB, but you want a way for the user to change the volume as if it was 0 dB. VCA allows that by adding a layer, without cluttering the routing with another level of bus. VCAs also allows to go beyond the routing and make some grouping that routing doesn’t permit.
VCAs are the traditional way for user interfaces.

1 Like

I’m confused. Wouldn’t I set the FMOD mix on the VCA and then let the game/user adjust the Grp (which I think is the bus)? That seems to be the opposite of what you’re saying or am I misunderstanding. Are there some good docs that talk about best practices?

You’re right, I said the opposite: I find it more logical to mix the busses (groups/returns) and let VCAs for the user. You also can use VCAs in your mix if you need special grouping and/or automation, but I think it’s a good practice to have a bunch of VCAs at top level for the user.
I think it’s the common practice, but I’m not absolutely sure of that.