Accessing and positioning nested events

Hello,

We recently switched our game to FMOD Studio from previously using another audio engine. The combat portion of the game is turned-based, contains no visuals components or animation, and has all of the audio positioned in three dimensional space around the player. Some sound sequences contain multiple 3D positions. An arrow being shot, for instance, has three components–the draw and release of the arrow is at position A, the impact of the arrow is at position B, and the sound of the arrow moving through air which travels from position A to position B. Previously, we were handling all of this in script, but we would like to have as much of the timing and construction of these sequences handled in FMOD.

My initial thought was that this could be accomplished using nested events containing each of these three components inside one larger event. Then each nested event could be positioned accordingly. But I’m thinking that might not be possible, since I haven’t found any way to access a nested event through the API.

It would be so beneficial for us to be able to handle the timing of these combat sequences within FMOD, instead of through code as we had been doing. If positioning nested events independently is not possible, can you think of any solution for being able to construct an entire sequence of differently positioned sounds in FMOD Studio?

Thanks

FMOD Studio does not currently support assigning different locations to different instruments within an event instance, nor to referenced events called from the same parent event instance.

However, you could easily create an event that contains all three sound effects, and use a parameter to change its behaviour when you want the “in flight” loop to end and the impact sound to begin. Instances of this event could then be attached to each arrow launched in your game.

Alternatively, if you would prefer to keep modifications to your existing code to a minimum, you could simply create three separate events, and use them as you have been doing.