fmodstudioL assembly only found once when using PlasticSCM, Unity and FMOD

Hi,
I am working on a new Unity 2021.3.8 project that uses PlasticSCM and FMOD 2.2.13. Despite following the guidelines regarding the correct configuration of the ignore.conf we get FMOD to work only partially. While it is fine for me and another teammate, it’s not working for the other.
On the teammate’s machine with the problem, the first start of the project works and then after every subsequent start, it constantly throws the error message DllNotFoundException: fmodstudioL assembly. The teammate has to delete the .csproj files regarding FMOD, rebuild them, and then it works once.
We’ve tried re-installing FMOD’s Unity integration on his machine, committing this change to PlasticSCM and then after re-opening the project on his machine it stops working again, whereas it works fine for us. Rolling back to different project versions via PlasticSCM does not solve the error on his machine either.

Our ignore conf looks like a combination from plasticSCM, FMOD and FMOD’s user guide. The FMOD-specific part of the conf is:

!/_FMODProject/Build
/_FMODProject/.unsaved
!/_FMODProject/Assets

/Assets/Plugins/FMOD/Cache/*
/assets/plugins/FMOD/Cache/*

/Assets/Plugins/FMOD/Cache/Editor

!/Assets/Plugins/FMOD/**/lib/*

Ignore bank files in the StreamingAssets folder.

/Assets/StreamingAssets//*.bank
/Assets/StreamingAssets/
/*.bank.meta

Log files can be ignored.

fmod_editor.log

And we have added the slashes before the build references:

/Build
/build
/Builds
/builds

And here is a screenshot of how the FMOD integration looks in PlasticSCM

We have added the FMOD project to source control, and FMOD is pointed to read the banks based on the FMOD project file.

We have the same build settings, which are source controlled. We use different Windows OS versions: I am on Win 11, and the other teammate is on Win 10. Is this what is causing this issue?

Any help on this problem would be highly appreciated.

Best wishes,
Constantin

Hi,

Would it be possible to get access to your repository to test on my end as I am also on a Windows 10 system and can check if I experience the same issues?

Can I confirm that when your team member when

and does not interact with the source control do you still experience the issue? Would it be possible to see their FMOD Asset directory inside Unity like so:
image

Could you also expand the platforms->win->x86_64 folder in PlasticSCM to make sure there are the correct files in there please?

Hi Connor

Many thanks for this. Here is the screenshot of the Plugins directory:

Looking at Unity’s editor.log, I noticed that Unity is trying to load fmodstudioL.dll from this path: C:/Program Files/Unity/2021.3.8f1/Editor/Data/MonoBleedingEdge/lib/Assets/Plugins/FMOD/platforms/win/lib/x86_64/fmodstudioL.dll.
I don’t know why that is. How can we tell it to load the plugins from the correct location?
Bests,
Constantin

Hi,

The code in charge of loading the libs is EditorUtils.cs but I wouldn’t recommend changing the code. Would it be possible to get a screenshot of your teammate’s FMOD asset directory:
image
And did you get a change to test if they do not interact with source control if the .dlls still go missing?

Hi Connor,

I’ll try to get the screenshot. I hope I’ll receive it today. In the interim, this is what my teammate had been doing to get the project running again briefly. For context: we are developing an experience for the Meta Quest 2, and there seems to be a strange interaction between Meta’s integration and FMOD. For example, it tries to load Meta’s spatializer even though we have disabled Unity’s audio and not using anything.

  • disconnect Quest
  • restart computer
  • delete all .csproj files
  • delete Assets/Plugins/Fmod/Cache and Cache.meta
  • open the project in Unity
  • run the scene in the editor (still without headset connected)
  • stop the scene
  • connect headset, start oculus link

Then it works for one session. and then on the next day, without touching Plastic, it stops working again. He deleted the Library folder and reimported the whole project. Got FMOD DLL error again. Quit Unity. Turned off Oculus link. Started at step 3 in the above sequence (deleting .csproj files). And it all started working ok again. He made some tweaks to the scene and tested and it was looking good. Then to check, he quit Unity and opened the project again. And now he’s getting the FMOD DLL error again.

Considering that the connection to the Quest also breaks, there may be something else going on. We are using Unity 2021.3.8f1. Would it help if we were to post Unity’s editor logs to see what is going on? We have one log where all is working, another one where nothing is working and a third one of mine where everything is working all of the time.

Best wishes,
Constantin

Hi Connor,
Here’s the screenshot of the teammate’s FMOD lib folder:


:slight_smile:
Constantin

1 Like

Hi,

Thank you for the screenshot. Uploading any logs to your Profile would be a great help, you will need to register a project with us before you can upload.

Would it be possible to get a stripped-out version of the project that is still experiencing the issue uploaded to your profile as well to test on my side?