May I please confirm with you if the Unity plugin files have been installed in your Unity project and in the correct locations? On my Windows installation of the SDK (I do not have a Mac to check the location on), the files are located in this SDK 2.0 folder:
Intel RealSense SDK 2.0 > bin > x64
The plugin files that Unity needs are called LibrealsenseWrapper.dll and realsense2.dll.
You should go to your Unity 'Assets' panel, locate the folders 'Plugins' and 'Plugins,Managed' and do the following:
1. Drag and drop the realsense2.dll file from its original SDK folder into Unity's Plugins folder
2. Drag and drop the LibrealsenseWrapper.dll file from its original SDK folder into Unity's Plugins.Managed folder
After these steps are completed, you can then open a Unity scene.
Apologies for the delayed response. I was thoroughly researching your case.
It seems that you get the Realsense2.dll file by building the RealSense SDK 2.0 source, and then get the LibrealsenseWrapper.dll file by going to the wrappers/charp section of the SDK structure and building the file Intel.RealSense.SDK.sln
The Wrappers > Csharp section of the SDK structure:
At this point there is a problem though. It says that the solution (sln) file only currently works with Windows. So I am not certain how you would gain that file with a Mac. The best I can think of is to attach the two DLL files to this message, which I have done, so you can try importing them into the Plugins and Plugins.Managed folders in Unity.
Regarding not having Plugins / Plugins.Managed folders in your Unity project: I started a new project to check this and confirmed that a new project did not have these folders. So simply create these folders in your Assets windows and place the DLLs in the appropriate folder according to the instructions.
That is fantastic, I appreciate all of your help. Do you work for Intel?
It still perplexes me that these files are not already included in the Unity project. Why don't Intel just include a .unitypackage file like they did with the old realsense SDK, and like every other SDK developer does?
It seems needlessly complicated and will likely turn away many developers.
Thank you again.
I'm glad I could be of help. I am not an Intel employee, I am a volunteer support guy known as a 'Super User'.
Yes, a pre-made package file in the style of the old Unity Toolkit executable would be very useful. As it would have to be updated with a new Realsense2.dll every time a new SDK build was released though in order to reflect the latest changes in the SDK, this may be more trouble than when the old Windows SDKs were updated on a roughly 6 month schedule. The simplest approach may be to put download links for the latest versions of these two DLLs on a web page, since Intel will have to build the files anyway for the binary version of the SDK.
I just saw your latest message. It is a positive at least that LibrealsenseWrapper.dll is the one that works with Unity, as that is the one that is potentially the most complicated to build for Mac. You should be able to obtain realsense2.dll in theory just by building the SDK 2.0 on yur Mac. Whether that Mac-built DLL will work in Unity, I cannot say.
1 of 1 people found this helpful
Actually the ones I posted were for SDK version 2.10.1. I'm attaching the ones for the latest SDK version 2.12.0.
Here are the rough steps I took to compile them. They may not all be necessary but this is what worked for me.
- Open XCode project and build librealsense2 target for Release.
- Copy built dylib to Unity project in Plugins directory and rename to realsense2.bundle
- Open wrappers/csharp/Intel.RealSense/Intel.RealSense.csproj
- Delete/comment out <EnsureBitCorrectness> target element
- Delete/comment out 'DependsOnTargets="EnsureBitCorrectness"' attribute in "IncludeDependencies" target element.
- Change 'realsense2.dll' in following line to point to built dylib file name from above:
- <BuildPath Condition="'$(BuildPath)'==''">..\..\..\build\$(Configuration)\realsense2.dll</BuildPath>
- Open wrappers/csharp/Intel.RealSense.SDK.sln in .NET IDE
- Build Intel.RealSense project for Release.
- Copy Intel.RealSense.dll in bin/x64/Release/net461 to Unity project in Plugins directory (or whatever .NET framework you want to target). If you use .NET 4.6 you need to switch to that scripting engine in the Player settings.