How to install and share FMOD plugin with UE4 teammates

Hi,

First, thank you for the great product, plugin, and documentation! It’s a pleasure to work with FMOD.

I’m having some trouble setting up the plugin for my team. I’m able to install it locally, and have configured our CI to include FMOD correctly in cross-platform builds (again, thanks to good documentation!). A few problems remain though:

  1. Whenever I compile our project, FMOD gets recompiled. It’s relatively quick, but it does slow iteration and (seemingly) regenerate build output files.
  2. I’ve included the game/plugins/FMODStudio path in git, which means everyone is pulling my local installation of the plugin. As a result, teammates can’t compile the project until they install the plugin locally.

What’s the right thing to do here? Can I exclude FMOD plugin source files to prevent compilation? Should I exclude the plugin installation from version control and require everyone install the plugin locally instead? I feel like I’m doing something stupid here and making things more complicated than they need to be.

Engine Version: fork of 4.20.3 (github source)
Development platform: win64

Thanks!
Target platforms: win, linux, linux server, osx

Is it being recompiled every time you compile the project?
I would have expected it to only need to be recompiled if the plugin code is changed.

Alternatively, you could manually install it into the ‘Engine/Plugins’ directory of every ones Engine install instead of the game.

Thanks for your reply, cameron.

It was being recompiled every time I would build the project. I created a script for our CI to install the plugin if it was missing, and after using that to reinstall it locally, it compiled once, and then hasn’t recompiled again. I must have done something strange during the first manual install. Unfortunately I have no idea what that could have been!

I’ve also decided to include a script for installing the plugin rather than the plugin (and compiled output) itself within version control. The script just installs the plugin if it’s missing. So far this has worked well for every teammate and our CI, so I think it’s at least one good approach for version control + fmod in the project.

Thanks!

1 Like