I have developed my own simple Unity3D project for RealSense camera via RSUnityToolkit (using triggers, actions etc).
When i build unity project and launch .exe file on my developer machine (it have SDK and drivers) all works fine, but when i launch it for testing on other machine without Intel RealSense SDK but only with RS drivers - it doesn`t launch.
I understand that it`s happens because my project need some *.dll or etc. from SDK but i can`t understand what exactly.
PS. I import RSUnityToolkit in my project. And in project Plugins folder i have RSUnityToolkit folder, x86, x86_64 folders with libpxccpp2c.dll and in Plugins.Managed foilder - libpxcclr.unity.dll.
Thanks for your suggestions.
Are you using the 'Build' option in the File menu to create a standalone launchable for your project? When you run Build, it should create an executable file and an accompanying data folder that has the same name as the executable.
If you transfer the executable AND that folder to your other computer with RealSense drivers then the executable should be able to run, as the folder contains all necessary files for the project to run.
Maybe you don`t understand me. I have copied ENTIRE folder with my unity executable project to other computer but it doesn`t work because that computer have only RealSense drivers (haven`t SDK). And i am trying to understand WHY? What *.dll or etc. i could copy to my project from SDK to make it work?
When you talk about a "Unity executable folder", do you mean your Unity project folder? Because that is a different thing from an executable folder.
You construct your project in Unity using your Project folder. Then when you are ready to create a "build" of your project to run it without the SDK, Unity creeates a separate Executable folder. If you are trying to run your project on another computer using the Project folder without having the SDK installed, it is not likely to work.
This is because doing a Build to make a standalone executable that can be run outside of the Unity editor puts the DLL files into the Executable folder so that you do not need the Unity editor open in order to run the project. So if you copy the Executable folder and its launch file to your other computer instead of the Project folder, it should be able to run without having the SDK installed, because the DLL files that the camera needs will be in the Executable folder outside of Unity.
When i talk about a "Unity executable folder", i mean "Unity executable folder" which i have already built, it includes *.exe file and Data folder with Resources, Plugins, Managed folders. in Plugins folder i have libpxccpp2c.dll, in Managed folder i have libpxcclr.unity.dll.
I am reminded of something that happened to me when Unity 5 first launched. When I did a Build, the camera would not start even though it worked fine when the project ran in the editor.
I found that the answer to make it work was to go to File > Build Settings and set the 'Architecture' menu option to say 'x84_64'.
Unity 5 is a 64-bit program (Unity versions previous to 5 were 32-bit), so if the Architecture option is set to 'x86' (the 32-bit option) then the camera would not start in Build mode.
Edit: if your Unity was indeed set to 'x86', after you have changed it to 'x86_64' you should do File > Build to overwrite your executable folder with a new build of the project that is updated to run the project in 64-bit mode.
Thanks but no. I Have 2 machines with x64 architecture. On my developer machine i have launched application successfully but on test machine it doesn`t launch without SDK, when i install SDK it launched successfully too.
My questions are: WHY it doesn`t work withoud SDK? Can Unity project for RealSense (via RSUnityToolkit) work without SDK because SDK is kit for developers, not for users. Why user should install SDK? I think it`s wrong.