How do I crossfade every variation of my our game's overworld music into each other?

Hi I’m somewhat new to FMOD’s complexity. I was given an fmod project by our composer and he has several (20+) variations of our overworld theme that is supposed to play depending on what part of the city the player is in or if they have a powerup.

The project has the timeline with like 20 different audio tracks (I don’t think it’s efficient). It was made with 2 parameters which completely switch off each track of music but one when activated. However, after many, many hours of trying I can’t seem to figure out how to make is so that when the parameter changes the audio fades out of the playing one and fades into the new one instead of just abruptly stopping.

I would really love some help because I think I’m losing my mind. I’m pretty sure that I’ll have to just remake what was already made.

Until there’s seek speed implemented on volume (it’s a pending feature request), what you want is impossible to achieve with volume automation, from what I know. It would be possible using one parameter for each music version (20 parameters with continuous [0,1] values and seek speed) but it’s not very efficient. You could even have those 20 parameters private and control them with a master discrete parameter.
However, there is another way to do this: put all the files in the same track, horizontally dispatched, with a magnet region around each. You should condition each magnet region to one parameter value, use the Offset “Relative” option and configure each transition region for smooth transition.
However I haven’t done extensive tests to see if it behaves well at the proximity of the start or end of the file (the cross fades could maybe fail if there’s no more content to fade). You also could configure a standard loop in top of the magnet region, since the magnet transition region will maybe not fit for the loop within one file.

Another way of doing that would be to have 20 different tracks as your original version, and route each track to a different mixer track. Then do your automation with snapshots (one snapshot per version), with AHDSR on them.

Thank you very much I’ll try that out.