I have moved over to Mac for Unity development, and am aware you can still use Windows .dll files in your project. I use NuGet as a secure method of getting specific dlls, and have usually done this on Windows by manually downloading the .nukpg and extracting the .dlls using WinRAR, then putting the dlls in Unity. So far, I have thought of two ways to do this on Mac:

1.) Doing the same thing, but with a WinRAR alternative that can open .nukpg

2.) Using Visual Studio for Mac that has a NuGet interface built in with Unity

Has anyone done this, or found a solution for getting package from NuGet in Unity for Mac?


While there's no built-in support for NuGet yet, this might change soon since a lot is happening in this regard. With Unity 2018.1, .NET Standard 2.0 finally got supported. This is a huge deal since it makes a lot of libraries accessible to Unity developers. Check out this Unity blog post for some information.

Until then, the process is pretty much as you described. Download the NuGet package, rename it from nupkg to zip which you then can unzip (in the finder, no 3rd party software needed) and use the .dll in your project. I've found this blog post on the topic (which might be a bit outdated by now but describes the whole process pretty well).

You might try NuGetForUnity. I didn't have a chance to check it out yet, but it looks really promising.

Visual Studio won't help too much (right now at least), since Unity handles project files a bit differently. Adding dependencies in Visual Studio will have no effect in your Unity solution.

  • \$\begingroup\$ I was trying to install-package google.cloud.Vision.v1.As you said I renamed and unzipped.Now it has many folders.There was a lib folder, then three folders where there I selected the dll from ../netstandard2.0/Google.Cloud.Vision.V1.dll .Then in the solution explorer right click >Add>AddFiles> then browse the folder containing .dll file. After using this statement in the code-- using Google.Cloud.Vision.V1; I am getting this error.The type or namespace name 'Google' could not be found (are you missing a using directive or an assembly reference?) .So the method I describes is correct? \$\endgroup\$
    – zyonneo
    Aug 27 '19 at 6:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .