Bug with FMOD integration on Unreal 5.4.3

Hello, i currently tried to integrate FMOD 2.2.23 on UE 5.4.3 and it broke the project. (I will post the error messages in the next comment.)

I placed the compatible integration package on the Plugins folder within the UE Project and when i tested on my PC it worked fine. Once the team pulled my changes it broke the project on their end.

Did i do something wrong? Or is the integration package not stable at the moment?



These were the error messages we got on the UE project

Hi,

The issue might be related to your version control ignore setup. The default Unreal .gitignore file does not account for the plugin binary files required by FMOD, which prevents them from being rebuilt. You can check this GitHub | Unreal gitignore - line 50 for reference.

To resolve this, you can either:

  1. Have your teammates download the FMOD integration and copy it over the existing plugin files.
  2. Remove the Plugins/**/Binaries/* line from your .gitignore file and then re-add the binary files.

Let me know if you need further assistance!

Thank you so much for the response @Connor_FMOD, it did fix the issues but it doesn’t feel very stable.
We are worried about future problems and our programmer shows concern about comitting binary files as he says it’s not a recommended practice. Also about the fact that those binary files might miss something on a final build and potentially cause issues.

Here are his thoughts:

"You can tell them that option 1 is a ok option but not the best, and hopfully they can offer a better solution.

Option 2 is not really a good option though as committed UE binaries to Git can cause issues. I wouldn’t advise committing the binaries to version control. Its can be a bad practice to commit binaries.

Reasons to Ignore Binaries

Repository Size: Binaries are often large files, which can significantly increase the size of your repository. This can make cloning and fetching changes slower and more cumbersome.

Version Control: Binaries are not text files, so they cannot be easily diffed or merged. This means that any change to a binary file results in a completely new file being stored in the repository, further increasing its size.

Build Artifacts: Binaries are typically build artifacts, meaning they are generated by the build process and not part of the source code. Storing generated files in version control goes against the principle of source control systems, which is to store source code and assets."

What are your thoughts on this? Are we overthinking this? Is there any other possible solution?

Thank you so much Connor.

Thank you for your thoughts.

No, these are all valid concerns.

A solution may be rather than allowing all plugin binaries, you only include the FMOD binaries

# Do not ignore FMOD binary files
!Plugins/FMOD/Binaries/*

If the files in the FMOD binary directory are too large they can be marked for Git LFS.

You are right that the binary files are build artifacts, however, they are required by Unreal Engine to integrate the plugin smoothly.

Thank you for your thoughts and I hope this solution helps.

Thank you very much for the response @Connor_FMOD. I believe we’re close.

However, the same conflict occurs pointing the same version control bug with this fix you recommended.

Do you think this issue will be adressed in future updates?

Were the missing files readded to the repo? Once the command !Plugins/FMOD/Binaries/* is added to your .gitignore file the missing binary files will need to be readded to avoid the warning when opening UE.

image
The highlighted files cannot be rebuilt by Unreal Engine because they are part of the FMOD source library used by the plugin. These FMOD files either need to be shared in your repository, or each team member will need to download and add them manually. While the same is required from the UnrealEditor-* named files, it is possible for Unreal Engine to build them given an IDE is installed on the machine and it has all the requirements set out by Unreal. We supply these binaries in our plugin so that users do not have to build them, and this is also why we suggest adding the binary files to your source control.

We are always looking for improvements, if I can add anything to our documentation to more clearly outline these requirements I can make a task to do so. Our Unreal Source Control docs can be found here: Unreal Integration | User Guide - Source Control.

Hope this helps!