General details:
- OS: x64 Windows 10 Pro
- Nuitrack License: Trial License
- Unity Editor: 2021.3.11f1
- Sensor: Intel RealSense D455
Let me walk you through what I did chronologically:
I created a new Unity project and imported the SDK, started following the first video linked in the tutorial section (LINK), skipped the build settings because for now I just want to get it working, got to 6:30 where you test the script and got this error: “CS0103: The name ‘CurrentUserTracker’ does not exist in the current context”.
One of the comments under that video links an updated tutorial on Github that supposedly avoids that error (LINK), so I start following that one instead, once again, I skip the build settings and try testing the script, this time, I get the following errors on the first frame:
<color=green><b>Test Nuitrack (ver.3607) init was successful! (type: Runtime)</b></color>
Current Scripting Backend Mono2x Target:Standalone
Device [Sensor Name: Intel RealSense D455, License: NONE]
UnityEngine.Debug:Log (object)
NuitrackSDKEditor.ErrorSolver.NuitrackChecker:PingNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/Editor/ErrorSolver/NuitrackChecker.cs:89)
NuitrackSDKEditor.ErrorSolver.NuitrackChecker:.cctor () (at Assets/NuitrackSDK/Nuitrack/Scripts/Editor/ErrorSolver/NuitrackChecker.cs:20)
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes (System.Type[])
Perhaps the sensor is already being used in other program. Or some unexpected error.
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:95)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
It is recommended to test on AllModulesScene
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:98)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
Also look Nuitrack Troubleshooting page:github.com/3DiVi/nuitrack-sdk/blob/master/doc/Troubleshooting.md
If all else fails and you decide to contact our technical support, do not forget to attach the Unity Log File (https://docs.unity3d.com/ScriptReference/Debug.Log.html or ADB) and specify the Nuitrack version
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:101)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
nuitrack.ModuleNotInitializedException: NuitrackException (ModuleNotInitializedException)
at nuitrack.NativeImporter.throwException (nuitrack.NativeImporter+ExceptionType type) [0x00080] in <057f99c1c0624ebab0b6fa7b4951aaa2>:0
at nuitrack.NativeColorSensor..ctor () [0x00012] in <057f99c1c0624ebab0b6fa7b4951aaa2>:0
at nuitrack.ColorSensor.Create () [0x0000a] in <057f99c1c0624ebab0b6fa7b4951aaa2>:0
at NuitrackManager.NuitrackInit () [0x002d8] in D:\Projects\Tests\Nuitrack Test\Assets\NuitrackSDK\Nuitrack\Scripts\NuitrackManager.cs:513
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:104)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NuitrackSDK.Calibration.CalibrationHandler.Update () (at Assets/NuitrackSDK/Nuitrack/CalibrationRotationScripts/CalibrationHandler.cs:81)
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NativeAvatar.Update () (at Assets/NativeAvatar.cs:10)
And then the follwing errors on subsequent frames:
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NuitrackSDK.Calibration.CalibrationHandler.Update () (at Assets/NuitrackSDK/Nuitrack/CalibrationRotationScripts/CalibrationHandler.cs:81)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NativeAvatar.Update () (at Assets/NativeAvatar.cs:10)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
I try the AllModulesScene, I get the following errors on the first frame:
<color=green><b>Test Nuitrack (ver.3607) init was successful! (type: Runtime)</b></color>
Current Scripting Backend Mono2x Target:Standalone
Device [Sensor Name: Intel RealSense D455, License: NONE]
UnityEngine.Debug:Log (object)
NuitrackSDKEditor.ErrorSolver.NuitrackChecker:PingNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/Editor/ErrorSolver/NuitrackChecker.cs:89)
NuitrackSDKEditor.ErrorSolver.NuitrackChecker:.cctor () (at Assets/NuitrackSDK/Nuitrack/Scripts/Editor/ErrorSolver/NuitrackChecker.cs:20)
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes (System.Type[])
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NuitrackSDK.Calibration.CalibrationHandler.Update () (at Assets/NuitrackSDK/Nuitrack/CalibrationRotationScripts/CalibrationHandler.cs:81)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
Perhaps the sensor is already being used in other program. Or some unexpected error.
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:95)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
Also look Nuitrack Troubleshooting page:github.com/3DiVi/nuitrack-sdk/blob/master/doc/Troubleshooting.md
If all else fails and you decide to contact our technical support, do not forget to attach the Unity Log File (https://docs.unity3d.com/ScriptReference/Debug.Log.html or ADB) and specify the Nuitrack version
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:101)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
nuitrack.ModuleNotInitializedException: NuitrackException (ModuleNotInitializedException)
at nuitrack.NativeImporter.throwException (nuitrack.NativeImporter+ExceptionType type) [0x00080] in <057f99c1c0624ebab0b6fa7b4951aaa2>:0
at nuitrack.NativeColorSensor..ctor () [0x00012] in <057f99c1c0624ebab0b6fa7b4951aaa2>:0
at nuitrack.ColorSensor.Create () [0x0000a] in <057f99c1c0624ebab0b6fa7b4951aaa2>:0
at NuitrackManager.NuitrackInit () [0x002d8] in D:\Projects\Tests\Nuitrack Test\Assets\NuitrackSDK\Nuitrack\Scripts\NuitrackManager.cs:513
UnityEngine.Debug:LogError (object)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (string,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:104)
NuitrackSDK.ErrorSolver.NuitrackErrorSolver:CheckError (System.Exception,bool,bool) (at Assets/NuitrackSDK/Nuitrack/Scripts/ErrorSolver/NuitrackErrorSolver.cs:75)
NuitrackManager:NuitrackInit () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:575)
NuitrackManager:StartNuitrack () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:762)
NuitrackManager:Init () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:283)
NuitrackManager:Awake () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:271)
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NuitrackSDK.Calibration.CalibrationHandler.Update () (at Assets/NuitrackSDK/Nuitrack/CalibrationRotationScripts/CalibrationHandler.cs:81)
And the following on subsequent frames:
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <d6232873609549b8a045fa15811a5bd3>:0)
NuitrackManager.get_Users () (at Assets/NuitrackSDK/Nuitrack/Scripts/NuitrackManager.cs:199)
NuitrackSDK.Calibration.CalibrationHandler.Update () (at Assets/NuitrackSDK/Nuitrack/CalibrationRotationScripts/CalibrationHandler.cs:81)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
I got the following error(s) running Nuitrack.exe (as admin):
Getting a 3D sensor list...
3D sensor list was updated
Starting test...
3D sensor serial number: 044422250571
3D sensor provider name: Realsense2DepthProvider
ERROR: Sample failed. Exit code: 3
Also I tried executing nuitrack_sample.exe just to see if it works (Nuitrack is installed as admin, nuitrack_sample.exe is also run as admin), and the output window is black with a white square in the top left corner, with the following error log:
Sorry I couldn’t copy the log or capture the output window, both windows close automatically and quickly.
Oh, also I tested my RealSense and it works just fine.
I’ll provide any other necessary details, so please help solve this problem!