Software Archive
Read-only legacy content

Unity Pro

Jimmy_S_Intel
Employee
2,692 Views

Does the SDK only work in Unity Pro?

If so, I am wondering why.

There is a lot of talent out there using Unity Free.

0 Kudos
39 Replies
samontab
Valued Contributor II
1,426 Views

Well, that would be a Unity restriction, not one from the RealSense SDK. You can integrate the camera with any 3rd party library that you have access to.

0 Kudos
Jimmy_S_Intel
Employee
1,426 Views

Thanks for the response.

I will give it a try in Unity Free just to see if it works.

 

0 Kudos
Vidyasagar_MSC
Innovator
1,426 Views

Which version of Unity are you trying out?? 4.6.2 or 5.0 Beta??

Keep us posted

 

0 Kudos
MartyG
Honored Contributor III
1,426 Views

Hi Jimmy,

Unity Pro is pretty much essential for the RealSense camera.  This is because the SDK uses C++ library files like libpxccpp2c.dll.   Unity treats DLL library files as C++ plugins, and plugins are a Pro-only feature of Unity.  The reason this bridge is necessary is because Unity prefers C# and so it treats C++ files as external components rather than fully integrated code.

It's not too much of an inconvenience if you are using Unity for the first time, since you can get a 30 day free trial of Unity Pro when you install the free Unity.  However, if you are doing a longer-term project or have used Pro on your computer before then it becomes a real problem.  Once you've had a trial, the only way you will get another is to install Unity on another machine that hasn't used Pro before or wipe your PC's boot hard-drive completely, reinstalling Windows and making a new Unity account.

There are exceptions to this.  When Unity does a major numbered release like 4 or 5, they tend to offer a brand new Pro trial period even if you have had one before.  I believe I read that the upcoming Unity 5 (currently in beta) will have such a trial.

Two ways to fix the Pro problem would be either for Intel to stop putting its vital SDK files in the form of DLL libraries or for Unity to allow DLLs to be used in Unity without a Pro account.  I would think it would be far easier for Intel to try to persuade Unity to make C++ plugins part of the free package.

0 Kudos
Jimmy_S_Intel
Employee
1,426 Views

Thanks for your response. Yes, I tried it this morning and it runs but fails for the Plugin as you said.

This is really too bad. It is hard for indies to pony up $1500. Hopefully, someone can come up with a answer.

I watched the demo's of Unity and the realsense and that is something I would really like to do.

Holding my breath.

I have been using Unity for about a year. The version I am running now is 4.6.2 Free.

 

0 Kudos
MartyG
Honored Contributor III
1,426 Views

These days in situations like this where you need to process something that a computer is not equipped to handle (unequipped in this case because of the need for a Pro account for C++ plugin access), a common approach is to process the difficult data server-side in the cloud instead of processing it locally on the computer.

This is what cloud gaming services like OnLive and Playstation Now (formerly Gaikai) do.  They do all the data processing online in a virtual machine instead of on physical hardware (e.g a real PS3) and then send the data down to the computer/ console as a video signal, so that an old game can be played without the user having to own the original hardware that it ran on.

I therefore wonder if it would be possible to adapt the RealSense C++ lib files so that instead of having to have them present within a Unity project's assets folder, the C++ part of the running application could be processed online and the outcome of that processing sent down to the computer to allow the Unity camera application to run without the need for Pro.

Of course, the drawback of this approach is that being online would essentially become a requirement for testing the camera apps, which would be awkward in some countries with poor internet services.  So maybe two versions of the SDK could be offered, the one we have now that needs local lib files and an online version.

Also, the published program should be able to run for the end-user without the need for an internet connection.  As part of the export process, software packages tend to trim down the output and only put in the executable the files needed to run the app (leaving out the creation tools used by the development environment).   So maybe the exporter could re-write the scripts during export to point to local copies of the lib files that are included in the final distributable instead of pointing to the online cloud versions of the files.

Which brings me back to my earlier conclusion that it'd probably be easier just to ask Unity nicely to drop the Pro requirement for C++ plugins.  But it's fun to think of alternative solutions to problems.  :)

0 Kudos
Colleen_C_Intel
Employee
1,426 Views

Another way to do it would be for Intel to sign their plugin (done in R2) and for Unity to add support for this signed plugin in a patch for their free version. Watch this space and try the 30 day free trial for now :>} (There's lots of other cool features in Pro btw).  

0 Kudos
MartyG
Honored Contributor III
1,426 Views

I totally agree about the coolness of Pro, Colleen.  Plus, once I saw my Hierarchy panel's objects list filled with blue-colored text instead of all-black upon getting Pro, I had instant withdrawal symptoms once I went back to free.  Such simple addiction psychology at work in that interface design!  :)

But yeah, I do hope a solution to the plugin issue can be found.  Because otherwise, it's difficult to produce commercial game-sized applications for RealSense if you're an indie on your own with a single PC who can't afford a licence (even on their $75 a month annual subscription plan).  

This is because the only other way around the problem is to develop as much as possible of the non-camera parts of your project first and then start the Pro trial period and try to cram all the camera programming and testing into 30 days, hoping you can integrate the cam, get all the gremlins out and publish the final executable before the trial expires.

The signed-plugin approach sounds hopeful.  But if it doesn't work out, we'll survive and overcome like we did during the 2014 challenge.  *smiles*

0 Kudos
samontab
Valued Contributor II
1,426 Views

+1 for having RealSense camera support in the free version of Unity.

It seems that the technology is there, we only need a couple of business meetings and it will be there :)

0 Kudos
Jimmy_S_Intel
Employee
1,426 Views

This is great news!

Thanks so much. Indies every will love it.

0 Kudos
Vidyasagar_MSC
Innovator
1,426 Views

+1 if realsense is seriously supported on Unity Basic.

0 Kudos
Colleen_C_Intel
Employee
1,426 Views

Announcement and patch from Unity:  http://unity3d.com/unity/qa/patch-releases

"We are happy to announce Unity 4.6.3p1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.  As always, patch releases are recommended only for users affected by those bugs fixed in that patch.

Features

  • Support for Intel RealSense plugin in Unity Free."
  • (Intel note: Requires R2 of the Intel RealSense SDK (v 4.x))

 

0 Kudos
MartyG
Honored Contributor III
1,426 Views

Awesome news, Colleen!  This makes life infinitely easier for RealSense developers and makes larger, longer-term projects feasible.  Thanks so much!  

0 Kudos
samontab
Valued Contributor II
1,426 Views

Great job!, haven't used it yet, but looks like a great thing for easing development for the camera.
 

0 Kudos
JD_S_
Beginner
1,426 Views

This is wonderful. But I must be doing something wrong.

I updated Unity to 4.6.3p1.

I tried running a sample from the SDK, Face Tracking Demo, and it is giving me this error:

License error. This plugin is only supported in Unity Pro!

FaceTrackingManager:InitializeRealSense() (at Assets/Scripts/FaceTrackingManager.cs:425)
FaceTrackingManager:InitializeRealSense() (at Assets/Scripts/FaceTrackingManager.cs:331)
FaceTrackingManager:Start() (at Assets/Scripts/FaceTrackingManager.cs:238)

0 Kudos
Colleen_C_Intel
Employee
1,426 Views

are you using R2 (4.x release)

0 Kudos
JD_S_
Beginner
1,426 Views

Hold on.

Looks like I might have an older SDK.

Updating now.

0 Kudos
JD_S_
Beginner
1,426 Views

Yeah, the new SDK helped.

I am still not able to get anything to access the camera in Unity.

Reading the Docs

0 Kudos
JD_S_
Beginner
1,426 Views

Running Face Tracking Demo

When I load it I get this error:

can't use image filters (npot-RT are not supported or RT are disabled completely)

And when I run it I get this error:

PXCMSenseManager.EnableFace() failed.
UnityEngine.Debug:Log(Object)
FaceTrackingManager:InitializeRealSense() (at Assets/Scripts/FaceTrackingManager.cs:715)
FaceTrackingManager:Start() (at Assets/Scripts/FaceTrackingManager.cs:603)

She is breathing on the screen but the camera does not turn on.

Colleen, I want to thank you so much for helping with this.

I am located in RA and work for Automation.

 

0 Kudos
MartyG
Honored Contributor III
1,351 Views

JD, the camera would not work for me either after I installed the latest version of Unity with the patch and the latest R2 version of the RealSense SDK. I got the "cannot find Libpcx.dll" message when I tried to run my camera-powered application.

It occurred to me that the RealSense Unity Toolkit may have been updated since I last installed it and there may be broken linkages.  So I went to the 'framework > Unity' folder of the RSSDK folder and run the 'RSUnityToolkit' file whilst my Unity project was open, and re-imported all of the files.  When I ran my app again in Unity, the camera now worked.

Bear in mind that when you run the RealSense Unity Toolkit and begin the file import, Unity may lock up and be unresponsive.  Don't worry about this, the import will have still taken place.  Leave it for 5 minutes to make sure that everything has imported and then use Ctrl-Alt-Del to bring up the Task Manager and quit out of Unity.  Then re-launch Unity and hopefully, the camera will now work for you.

0 Kudos
Reply