UE5+P4V+FMod

Hi, My team is working on a UE5 project with Perforce as our version control.

In our team there is 1 sound designer that will use FMod Studio to manage the sound in the game.

We recently also implemented FMod into this project and have a few questions:

  1. Where does the FMod plugin’s sound outputs to? Usually in UE there is a hierarchy of assets like SoundClasses, Submix, Modulation, etc… Does it have it’s own SoundClass I can route?

  2. We’re not sure if we installed everything correctly, as we found guides for integrating FMod in UE and for integrating FMod with Perforce, but not as one system for working as a team in the same UE project. Anyone have a good tutorial for this setup? I believe currently the audio files are not passing correctly to other team members.

  3. Every time any of the other team members are opening the UE project it automatically checks out some of the assets from the FMod Studio project, and sometimes even asks to delete those assets. Why is this happening?

  1. You can trigger events through FMOD using the FMODEvent uassets, or by triggering the events by path from code.
    https://www.fmod.com/docs/2.03/unreal/user-guide.html#making-sounds
  2. We have some information on our website:
    https://www.fmod.com/docs/2.03/unreal/user-guide.html#source-control
    Generally, you don’t want to keep the FMOD Studio Project inside the Unreal Engine Project, as this can bloat the game with lots of small files. The game only requires the Bank files from FMOD Studio, that way only the sound designer needs to update the FMOD Studio project and push the update Bank files to the UE Project for everyone else to use.
    https://www.fmod.com/docs/2.03/unreal/user-guide.html#setting-up-your-project
  3. This is likely the ‘generated assets’, which are generated from the FMOD bank files for the engine to use in the editor and at runtime.
    https://www.fmod.com/docs/2.03/unreal/user-guide.html#generated-assets

    The recommended way of dealing with generated assets is to exclude all generated assets from source control. This can help prevent source control locking/conflicts as the assets are generated locally when the editor is opened.