I have an FMOD project with an event that has a few different music tracks (guitar, bass, drums, piano). I can’t figure out a way to have the 4 different tracks output to 4 separate locations within Unity since the studio event emitter will only allow me to select an event.
Is there any way to route the drums track to a Return/Send/Bus and then have that bus output to a specific location within Unity?
Or is there a way to route audio from one Event into another?
If you want to make play the different instruments in different locations at the same time, you need one event for each track, and make a script to play.start all the events at the same time.
If you want to play the music, in a location only with some tracks, and then in other location, in other moment, the same music, but with other instrument tracks combination, you should make this in a event, using parameters, and script it.
Sorry for not being clear. Your first guess is correct and it is what I have done so far. I have made separate events for each track and written script to play.start all the events in Unity.
This has worked pretty well so far, but I have script written to update parameters on these 4 different events during gameplay. However, it seems as though these events will eventually cease to start and stop together. the playback of one event will drift from another.
In FMOD, I started by making one Event with all 4 tracks and created all my logic track information. Then I duplicated this event 4 times and muted the tracks I didn’t need. So hypothetically, loop regions and transition locations should be identical between the 4 events.
If the sample data isn’t fully loaded then it is possible some sounds will have a slight delay which could be what you are probably seeing. In the FMOD Settings in Unity you can choose to load all sample data or if you want to load banks in game via script it can be enabled there as well.
If using streams, it is difficult to guarantee that all streams play in sync since it depends on external hardware. We have an extra schedule delay that is applied for streaming events in that case, but if there are many tracks, then there can be lots of data that needs to be streamed in.
Generally, setting the events priority to highest in Studio should stop them drifting apart.
I have a music with 4 tracks, and alltogether it’s a music track for my game. I like to use this music for all the scene, but no allways with the same volume of the instruments, or maybe without some of them.
In my scene there are 3 areas where the music should be sound different. DrumWar, Melancolic, WorkVillage.
I did this:
I create the event in Fmod, and i duplicate every track to have in the event 3 times every track.
Then i create 3 parameters, DrumWar, Melancolic, WorkVillage. And then i make automation the volume in the different tracks, to achive, that:
DrumWar 1.0f: Only sound, DrumTracks, the rest no volume
Melancolic 1.0f: Sound Flutes, Strings, the rest no volume
WorkVillage 1.0f: Sound all the tracks and Pipes.
In every parameter automation the volume of the copies of the tracks for this ambient, the rest has no volume.
Then, every track is send in Pre.fader to a Send, now are like the master, and you can redirect every track to every send, like a independent master.
Only stay script in Unity that the Event Start(). then send parameters value when the player is in one or other place, to play the music like: DrumWar, Melancolic, WorkVillage.
Then if you have doubts i can send you some screenshot of my fmod event, to understant this graphicly.