I know that this has been asked and answered many times but that’s also slightly the problem, I have a bookmark folder with many entries on how this can be done.
For this jam we’re setting it up as follows. We have more than 2 persons working on audio.
FMOD session in the repo but outside of the asset folder.
One option you may wish to consider, depending on your needs, is to have two separate repositories for your Unity and FMOD Studio projects, and to only commit the built banks to the Unity repo as needed.
Thanks Leah, that’s really helpful.
I think we’re sticking with the approach we’re using now just because it’s familiar to the team but for future projects your advise will be very useful. Thanks for gitignore update link I’ll have a look and see what suits us.
I’ve set up the Unity, FMOD, Git combo many times these last few months, and this is my current preferred setup:
I’m gonna use a project called “In Ruins” as an example.
Folder structure
This is the root folder of the git repo. The Unity project is in the “In Ruins” folder.
For some projects, I like to keep the FMOD project folder in it’s own repo, which also works just fine.
Gitignore files
FMOD project gitignore.
Should be located in the FMOD project root folder, alongside your .fsproject file. I’ll sometimes ignore the profiler folder too, since wav-files in those sessions can get quite large.
Should be located in the Unity project root folder. Note that I’ve only pasted the FMOD-related parts here.
# FMOD stuff
# Never ignore DLLs in the FMOD subfolder.
!/[Aa]ssets/Plugins/FMOD/**/lib/*
# Don't ignore images and gizmos used by FMOD in the Unity Editor.
!/[Aa]ssets/Gizmos/FMOD/*
!/[Aa]ssets/Editor Default Resources/FMOD/*
# Ignore the Cache folder since it is updated locally.
/[Aa]ssets/Plugins/FMOD/Cache/*
# Ignore bank files in the StreamingAssets folder.
/[Aa]ssets/StreamingAssets/**/*.bank
/[Aa]ssets/StreamingAssets/**/*.bank.meta
# If the source bank files are kept outside of the StreamingAssets folder then these can be ignored.
# Log files can be ignored.
fmod_editor.log
FMOD Settings in Unity
I like to use either single platform build or multiple platform build. My bank files are located in a folder named “FMODBanks”. This folder is located in the Unity project root folder, alongside the Assets folder.
Event linkage is set to GUID, so I can rename events somewhat safely.
FMOD project settings
Here’s the folder path for built banks. Since it’s relative, it’ll work for anyone else working on the FMOD project as well.