Best practices for setting up new FMOD + Unity project and version control - review my guide?

Setting up FMOD with Unity 6000.0.47f1

Step 1: Install the correct FMOD versions

  1. Create an account on the FMOD website if you don’t already have one
  2. Download FMOD Studio 2.02.28 (the desktop application)
  3. Download FMOD for Unity integration package 2.02.28 from either:

Important: Always ensure both FMOD Studio and the Unity integration package are the same version (2.02.28) to avoid compatibility issues.

Step 2: Import the FMOD integration package into Unity

  1. Open your Unity 6000.0.47f1 project
  2. Go to Assets → Import Package → Custom Package
  3. Select the downloaded FMOD for Unity integration package (.unitypackage file)
  4. In the import window, ensure all components are selected and click “Import”
  5. The FMOD Setup Wizard will appear automatically after import completes

Step 3: Configure the FMOD Setup Wizard

  1. Click “Start” in the FMOD Setup Wizard
  2. For the “Updating” section (if shown), follow the prompts to update existing FMOD references
  3. For project access method, select “Multiple Platform Build” (recommended for version control)
  4. Important: You’ll be asked to locate the build folder. If you don’t have a StreamingAssets folder:
    • Navigate to your Unity project’s Assets folder
    • Create a new folder named “StreamingAssets” (if it doesn’t exist)
    • Inside StreamingAssets, create another folder named “FMOD”
    • Select this newly created “FMOD” folder as your build location
  5. Next, you’ll either need to select an existing FMOD Studio project (.fspro file) or create a new one
    • If you already have an FMOD project, browse to select it
    • If you don’t have one yet, FMOD will create one for you when you build your first banks
  6. Replace Unity audio with FMOD: Enable this option to disable Unity’s audio system
  7. If prompted about existing Audio Sources, review and decide which to convert to FMOD
  8. Note the recommended .gitignore settings (we’ll implement these in Step 5)

Step 4: Configure FMOD project settings

  1. Open FMOD Studio and your FMOD project
  2. Go to Edit → Preferences → Build
  3. Set your build path to the StreamingAssets folder in your Unity project:
    • [Your Unity Project Path]/Assets/StreamingAssets/FMOD
  4. Under Build Platform, select all platforms your game will support
  5. Set the “Bank Platform” to match your primary development platform

Making it version control friendly

Step 5: Create a proper .gitignore file

Create or update your project’s .gitignore file to include these FMOD-specific entries:

# 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

# Log files can be ignored.
fmod_editor.log

Step 6: Set up your FMOD project folder structure

  1. Create a dedicated folder for your FMOD Studio project outside your Unity project directory
    • Recommended: [Your Unity Project Path]/../FMODProject/
  2. Move your FMOD project (.fspro file and related assets) to this folder
  3. Update your build path in FMOD Studio to point to your Unity project’s StreamingAssets folder

Step 7: Configure FMOD Studio for multi-user workflow

  1. In FMOD Studio, go to Edit → Preferences → Source Control
  2. Enable source control integration if working with a team
  3. Set up appropriate source control settings in FMOD Studio
  4. Configure your .gitignore in the FMOD project folder to exclude:
    • .user files
    • .cache files
    • .unsaved files
    • Log files

Best practices for version control

What to include in version control

  1. FMOD Unity integration files: The core FMOD plugin files in the Assets/Plugins/FMOD directory
  2. FMOD compiled bank files: All .bank files in your StreamingAssets folder
  3. FMOD settings: The FMOD Settings asset that contains your project configuration

What to exclude from version control

  1. FMODStudioCache.asset: This is regenerated when the project is opened
  2. fmod_editor.log: Log files that change frequently
  3. Temporary files: All .cache, .user, and other temporary files
  4. FMOD Studio project files: Keep these in a separate repository or folder

Working with a team

  1. Decide on FMOD project location:

    • Option A: Keep FMOD project separate from Unity (recommended)
    • Option B: Include FMOD project in repository but outside Assets folder
  2. Bank build responsibility:

    • Designate one team member as responsible for building banks
    • Alternatively, set up a CI/CD pipeline to build banks automatically
  3. Handling audio asset changes:

    • Pull the latest FMOD project changes before making modifications
    • Build banks after making changes and commit only the built bank files
    • Communicate with team members about significant audio system changes

Troubleshooting common issues

Missing banks or audio not playing

If banks are missing or audio isn’t playing:

  1. Verify banks exist in StreamingAssets/FMOD folder
  2. Check that bank path in FMOD settings matches your StreamingAssets path
  3. Rebuild banks in FMOD Studio and ensure they’re exported to the correct location