Possibility to override what banks are used in a build

(This might be a rare case)

Our game consists of a lot of “areas” and each area have a specific bank. On top of that we have custom banks that are used throughout the game.

When our level designers work on a specific area they build the game with only the scenes from that area. This is automated with one click and works fine. However, all the banks in the project are copied into the build folder (CopyToStreamingAssets) during the build process making the build size pretty large. In a local build this is not a big issue, but since our builds are hosted on a server it would be nice to get smaller builds to download.

I have solved this temporary by adding an additional build step (after FMOD copy step) where I look at the area banks and remove all unused banks from the folder. This works because each area knows what banks they use. The build step use a lot of duplicated code from EventManager.cs which is not optimal and might not be compatible with a FMOD upgrade.

It would be nice to have the possibility to hijack the build/copy step and add additional verification if a bank should be used/copied or not. Rather that copying everything first and then remove the files.

Any ideas on a better solution?

What you have in place seems to be a really good workaround for your situation. You can try to use Asset Bundles instead of Streaming Assets in the FMOD for Unity settings and see if this method is easier. We haven’t been able to test this ourselves and is more of a Unity issue, so I would recommend checking their forums if you have issues doing this.