FMOD in Unity Collaboration Questions

Ive been practicing and working with the FMOD the last few months and have picked it up quickly. I have been working at a gaming company in Seattle for the last 12 years and as a company we just started using Unity. Before this, all sound was coded in from a dev that i provided a placeholder description sheet with. In Unity, we started with the built in audio (audiosource) but i am ready to make the switch over to using FMOD in Unity. I am the sole Sound Design Engineer and build all the sound and will be implementing most of it as well. I do however collaborate with devs, animators and artists on the projects. As in we all have access to the project and commit our own work through Unity Version Control.

I have a couple questions:

If i am the only one accessing the FMOD session, do the others working on the project have to install the FMOD package installer? Or do my devs just need access (through me) to the event paths and banks in the case they are hardcoding sounds in? I keep the FMOD session in the assets folder w/ the banks pointing to a folder in there.

Some animations are strictly handled in code and in those cases the developer codes in the sound for me. Currently, i either create a scene game object with an audio source, or an asset prefab with an audio source, and they just point to that in their code. What would the equivalent be if using an FMOD event instead of an audiosource? As in the code for playing a sound? I hope that makes sense as i have limited knowledge with code, I just want to have as much ready for the devs when FMOD gets implemented.

Any info is appreciated here! Thanks

To play back content created by you in FMOD Studio, people in your team will need the FMOD for Unity plugin installed in their Unity project, and build banks from your FMOD Studio project. They will not need the actual FMOD Studio project itself unless they personally want to make changes to it. You can read more about how source control works with FMOD Studio projects in the Using Source Control chapter of the Studio docs.

It depends on the level of control needed over the FMOD event that is to be played. The FMOD for Unity plugin comes with the Studio Event Emitter component that can be considered loosely similar to an AudioSource component, abstracting away most/all of the coding. Coders can also use the RuntimeManager API, which are higher level helpers for standard FMOD API functions. For finer control, the FMOD API can be used directly as well.

Leah,

Since posting this i came across this thread (Using FMOD Across Remote Team) where an FMOD team member from what i initially thought said the opposite (just need access to the FMOD banks). Or is he just referring to FMOD studio, and not the package installer.

And thank you for the detailed response.

Matt

To be clear, there’s three elements at play here:

  • The FMOD Studio project, where you create and edit events
  • Built banks, which are created from your FMOD Studio project
  • The FMOD for Unity package, which plays back content from the built banks

Like Richard said in the post you linked, if your team members don’t need to create or edit event themselves, they don’t need access to the FMOD Studio project - only the built banks.

It is possible to play content from the banks in Unity without the FMOD for Unity package, but the package provides an API that handles a lot of the lower-level coding that would be otherwise needed to handle the lifetime of an FMOD Studio system object, playing events, loading banks, settings configuration, and integration with the Unity Editor/Inspector. In this case, unless your team intends to create systems for handling that stuff, they’ll also want to install the FMOD for Unity package.

For more specifics on how to approach using source control with the FMOD for Unity package, take a look at the Using Source Control section of our Unity docs.

Leah,

Thanks for the detailed breakdown, this helps a lot. Im just trying to be prepared as much as possible for when we begin to implement FMOD amongst the group.

1 Like