- Home /
DllNotFoundException when upgrading from Unity 2019.1
Hello!
I'm working on a project reliant on ImageMagick.Net. The stable build works in Unity 2019.1.10, under the .Net 4.x runtime environment and api compatability level, using Mono scripting backend. It uses ImageMagick 7.14.1 installed via nuget, using the netstandard20 lib dlls, and runtime native binaries. For the Mac native binary to work, the file extension must be changed from .dylib to .bundle.
ImageMagick 7.14.1 HDRI any cpu works great in 2019.1 (any version) but upon upgrading to Unity 2019.2 or 2019.3, I always get a DllNotFoundException on the mac binary (Magick.Native-Q16-HDRIx64.dll).
From the release notes I believe the issue has to do with the added support for .dylib files. The Mac binary that cannot be found has to be changed from Magick.Native-Q16-HDRIx64.dll.dylib to Magick.Native-Q16-HDRIx64.dll.bundle to work in 2019.1. Other than that I couldn't find a release note that appeared related.
I've tried various upgrades, as well as using Magick.Native-Q8 as well. Again, this works in Unity 2019.1.x but fails with 2019.2 and beyond. It's worth noting that the Image Magick dlls continually work on Windows, which is why I suspect this is a Unity OSX bug with dylib changes.
Any idea on what would trip up the dll in general migrating to 2019.2+? Or any updated guides for Mac on using Image Magick?
To save some time I made a simple git repo demonstrating my problem. I'll provide additional notes in the readme to replicate, but the goal is to be able to succesfully open the master branch in 2019.3 (or 2019.2).
Your answer
Follow this Question
Related Questions
DllNotFoundException on Mac OS X, only when Playing in Editor 0 Answers
DLL plugins unsupported for Android Application Building 0 Answers
How to use Yeppp! in Unity? 1 Answer
Failed to load DLL with error "The specified module cannot be found." 1 Answer
Why can't I build Web Player in Unity while I have no problems with building standalone versions? 2 Answers