Jump to content

Solution for Unity crashing / SRanipal DllNotFoundException


Recommended Posts

I had the same issues as some others in this forum: Either Unity was crashing when running a scene with the SRanipal Eye Framework or I got a DllNotFoundException for SRanipal.

For others to be able to use the eye tracking features of their Pro Eye in 2023, I'm sharing my solution:


Tested with Unity 2022.2.3f1 / Unity 2020.3.44f1, VIVE OpenXR Plugin - Windows 1.0.10, SRanipal Runtime 1.3.5.5 and SRanipal SDK 1.3.3.0

  • The current SRanipal Runtime (1.3.5.5) should already be installed on your PC after completing the PC VR HEADSET SETUP https://www.vive.com/us/setup/pc-vr/
    • Someone in another thread said you need version 1.3.2.0 to extract eye tracking data. This is not true for me, but you can find the older version here: https://hub.vive.com/en-US/download/
  • The current SRanipal SDK (1.3.6.8) makes Unity crash. Get version 1.3.3.0 from the archive: https://developer.vive.com/resources/vive-sense/eye-and-facial-tracking-sdk/download/archive/1_3_3_0/
  • If not done yet, install the XR Plugin Management via Edit > Project Settings > XR Plugin Management.
  • Add the Vive Package Repository for the Package Manager: Edit > Project Settings > Package Manager > Scoped Registries
  • Open Package Manager, select My Registries in top row and install VIVE OpenXR Plugin - Windows.
  • A pop-up appears and requests the restart of the editor to enable the new input system. Click Yes and wait for the restart to be completed.
  • Open XR Plugin Management via Edit > Project Settings > XR Plugin Management.
    • Activate OpenXR and Vive OpenXR feature group.
  • Import SRanipal SDK: Assets > Import Package > Custom Package...
  • Open OpenXR settings via Edit > Project Settings > XR Plugin Management > OpenXR
    • Unselect Facial Tracking, Hand Tracking and Scene Understanding.
  • Close and re-open Unity! Without the restart, the DLL won't be found. (Took me hours to figure this out.)
  • Test if everything works by dragging the SRanipal Eye Framework prefab in your Scene and running the scene.

I followed this tutorial for extracting the eye data and adapted the script to my needs, works perfectly: https://forum.htc.com/topic/9341-vive-eye-tracking-at-120hz/

 

Link to comment
Share on other sites

Excellent post! I've followed all the steps successfully up to "Test if everything works by dragging the SRanipal Eye Framework prefab in your Scene and running the scene."

When I hit play in the Unity editor (2022.2.4f1) it gives me an error "[SRanipal] Initial Eye: EULA_NOT_ACCEPT". Which is very confusing because when I look in the log file SRanipal creates, it shows that the EULA has been accepted. I've attached it to show.

Do you have any ideas on how I can fix this? Thanks!

SRanipalConfig.ini

Edited by MoVE_VR
added sranipalconfig ini
Link to comment
Share on other sites

I had this issue once after re-installing the SRanipal Runtime. I think I solved it by first closing the Runtime and SteamVR, setting

EnableEyeTracking=0
ReadEULA=0
AcceptEULA=0

in the *.ini, restarting everything and then accepting the EULA again in VR (open VR menu, select Vive Pro Eye (fourth icon from the left), enable eye tracking and accept EULA).

Alternatively you could delete the Runtime completely: https://forum.htc.com/topic/5642-sranipal-getting-started-steps/?do=findComment&comment=46845
and get the installer here: https://dl.vive.com/SRSDK/runtime/VIVE_SRanipalInstaller.msi

 

Let me know, if one of these options worked for you.

 

 

Link to comment
Share on other sites

I've messed around with it and followed the suggested steps and I wasn't able to fix the issue. The eye calibration works just fine, but when I hit play in unity it still gave the same error.

Of note though is that when I did the full uninstall/delete and then reinstall it never asked me to accept the EULA. The only thing is asked was the usual do you want to let sranipal make changes to your pc thing.

Also, when I opened the vr menu for the first time after reinstalling, the enable eye tracking toggle was already on. This makes me wonder if something is being saved on the steamvr side, possibly from other steam user accounts as there are others that sign in to steam and use the headset occasionally.

*Update Edit*
I think I've had a breakthrough. I went digging around in their code and found where it was outputting the error from. I disabled the code as shown in the screenshot snip I've attached and the eye/facial tracking was working in their sample scene v2 with no issues. So whatever the problem is, there's nothing wrong with the functionality of the eye tracking. There just seems to be a bug with the EULA agreement prompt process. I would keep trying to get the EULA prompt thing to work, but at this point I could not care less about it. So while this isn't a real solution, it is a workaround.

Of course if this has given you any additional insight or sparked an idea to fix it properly, I'd be game to try it out. Thanks!

image.png

Link to comment
Share on other sites

I've messed around with it and followed the suggested steps and I wasn't able to fix the issue. The eye calibration works just fine, but when I hit play in unity it still gave the same error.

Of note though is that when I did the full uninstall/delete and then reinstall it never asked me to accept the EULA. The only thing is asked was the usual do you want to let sranipal make changes to your pc thing.

Also, when I opened the vr menu for the first time after reinstalling, the enable eye tracking toggle was already on. This makes me wonder if something is being saved on the steamvr side, possibly from other steam user accounts as there are others that sign in to steam and use the headset occasionally.

*Update Edit*
I think I've had a breakthrough. I went digging around in their code and found where it was outputting the error from. I disabled the code as shown in the screenshot snip I've attached and the eye/facial tracking was working in their sample scene v2 with no issues. So whatever the problem is, there's nothing wrong with the functionality of the eye tracking. There just seems to be a bug with the EULA agreement prompt process. I would keep trying to get the EULA prompt thing to work, but at this point I could not care less about it. So while this isn't a real solution, it is a workaround.

Of course if this has given you any additional insight or sparked an idea to fix it properly, I'd be game to try it out. Thanks!

 

 

* I had included an image in my response and it's still awaiting approval from moderators so I'm posting my response without it for now*

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...