Built banks output directory

(Samuele Perseo) #1


I just upgraded to FMOD Studio 1.07 and I realized that the “Built banks output directory” is now saved per-project, while it was saved per-user in previous versions. Allow me to say that I much prefer the old behavior, since the scenario in which the exact paths differ among users is going to be very common. Sure, we can use relative paths, but sometimes they may not be a perfect solution. Is there any chance you might save it per-user again in a future release?

(Thuan Seah Tan) #2


We don’t have anything planned at this stage to switch back to the old behavior. We do reckon the current behavior in 1.07 would cater to both usages. If relative path is not feasible for a given project for any particular reason, the next best approach would be to use environment variable. Environment variable can be specified in 3 different forms: %variable%, $variable or $(variable). For example, if you have a environment variable named PROJECT_OUTPUT that is defined as C:\MyProjectOutput, you can input that as %PROJECT_OUTPUT%, $PROJECT_OUTPUT or $(PROJECT_OUTPUT). A different user can then define PROJECT_OUTPUT to a different location on his/her machine. Hope that helps.

(Samuele Perseo) #3

I see. Using environment variables is difficult to teach and quite cumbersome to deploy, especially since it forces all projects on a PC to share a single point of customization. It’s much easier to organize and enforce the projects so that relative paths are feasible, so we’ll go in that direction. Thanks.

(dnishimura) #4


I think that environment variables are terrible idea.

  1. Every machine needs to define a variable in order for the project to work properly.
  2. You have to add a different variable for each project, bloating the variables file.
  3. Paths aren’t updated automatically when you move folders or checkout the repository to a different directory.

My Build Path now resides one folder above the Assets folder:

This way, the bank gets loaded properly, the path remains relative to the project and the file can be safely synced across machines.

[OP Edit: Updated solution to remove misleading information.]

(Nicholas Wilcox) #5

Hi Danilo, the scripts shouldn’t need any modifications to support paths relative to the Unity project folder. “./FMOD” or just “FMOD” should work.

(dnishimura) #6

Hi Nicholas,

Thank you for your clarification on this subject.

The first time I tried to set the local path, the FMOD folder was inside the Assets folder, and I forgot I should add the Assets folder to the path. After trying a few different types of paths I guessed local path wasn’t available. And yes it requires me to put the “./” before the first folder name, i’ve just tested it.

Also, it seems that putting the build folder inside the Assets folder is a bad idea, because despite the fact that FMOD copies (I think) the contents to the StreamingAssets folder, it somehow loses the references to the events. Moving the build folder out of the Assets folder fixed the problem in my case.

Again, thank you!