Unity cannot find dependent dylib for plugin

I have a 3rd party, native C++ library that I want to use with Unity. I started by writing a simple Xcode plugin based on the midi plugin example. I return strings inside the functions of my plugin and verified that the plugin is working from within Unity.

Next I added code to call a 3rd party dylib from within my new plugin. It compiles without errors, but when run in Unity I get a DllNotFoundException.

I tried adding a build phase to Xcode to embed the dylib in resources, and also tried copying the dylib to the plugins folder where my plugin resides, but the error remains the same.

Any advice?


I believe I have a good fix for this. The shared library needs to have it’s “Installation Directory” on Xcode set to @loader_path/…/Frameworks and then the shared library needs to be put into the bundle’s Frameworks directory either manually or as a build phase.

Note that I wasn’t able to use install_name_tool -rpath to change the name without rebuilding in Xcode (the command doesn’t return an error, but the plugin still got the dlllnotfoundexception).