Home Forums Software Development EyeX initialization failed in Unity example project

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #1915
    Aram Azhari
    Participant

    Hi,

    I have copied the x86 and x64 folder of libs into Plugins directory of Unity example project:
    – The x86 folder went to ‘Plugins/x86’
    – The x64 folder went to ‘Plugins/x86_64’
    ( the instructions for this is taken from Unity documentation here: http://docs.unity3d.com/Manual/PluginsForDesktop.html )

    But after pressing play I get this message:

    EyeX initialization failed because the client access library ‘Tobii.EyeX.Client.dll’ could not be loaded. Please make sure that it is present in the Unity project directory. You can find it in the SDK package, in the lib/x86 directory. (Currently only Windows is supported.)

    My system is Windows 8.1, Unity 4.6.

    What am I doing wrong?

    #1924
    Jenny [Tobii]
    Participant

    Hi Aram,

    The Tobii.EyeX.Client.dll needs to go directly in the root of your Unity project folder, and the Tobii.EyeX.Client.Net20.dll should go in the root of the Assets/Plugin directory.

    There was no link to which instruction you had followed that said to copy to the Plugins/x86 and Plugins/x86_64 folders. Was that documentation from Unity?

    Additionally, if you build and deploy your Unity project, you need to copy the Tobii.EyeX.Client.dll to the same directory as the game’s executable (“.exe”). We are working on getting this into the build process, but for now this step has to be done manually.

    #1925
    Aram Azhari
    Participant

    Ji Jenny,

    Unfortunately the forum blocked the link to the unity documentation and I could not find way to edit a previous post (is there a way?).

    If you google the terms “unity 3d 32-bit and 64-bit plugins” and follow the first link on the results you’ll get to the link. I quote:

    On Windows and Linux, plugins can be managed manually (e.g, before building a 64-bit player, you copy the 64-bit library into the Assets/Plugins folder, and before building a 32-bit player, you copy the 32-bit library into the Assets/Plugins folder) OR you can place the 32-bit version of the plugin in Assets/Plugins/x86 and the 64-bit version of the plugin in Assets/Plugins/x86_64. By default the editor will look in the architecture-specific sub-directory first, and if that directory does not exist, it will copy plugins from the root Assets/Plugins folder instead.

    But as you suggested, I copied the 64-bit version of the dll on the root project folder and now it works :).

    Are there any plans to standardize the native dll usage so it would behave like other unity plugins?

    Thanks.

    #1927
    Jenny [Tobii]
    Participant

    Hi Aram,

    I managed to restore the link in your original post. Thanks for the reference and the feedback. We definately want to be as streamlined as possible with the Unity way of doing things. The thing is that proper Unity plugins are only supported in Unity Pro, and we want it to be possible to use our EyeX SDK for Unity in the free Unity version. So, we chose to not provide proper plugin, but packaging our SDK in a way that would be as recognizable as possible.

    If Unity would open up for plugins to be used with the free version, we would definately go for creating a proper plugin. You are welcome to help us by letting Unity know if you think they should take away this restriction 🙂

    In the meantime, we should try and clarify our documentation the best we can to clarify how our SDK differs from a Unity plugin.

    #5387
    Aditya
    Participant

    Hi,

    Sorry to bring this up years after, but I just tried to use the sdk with unity 5.3.4f1 on a windows 7 PC and when I try and load the game, it gives me :

    EyeX initialization failed because the client access library ‘Tobii.EyeX.Client.dll’ could not be loaded. Please make sure that it is present in the Unity project directory. You can find it in the SDK package, in the lib/x86 directory. (Currently only Windows is supported.)
    UnityEngine.Debug:LogError(Object)
    EyeXHost:InitializeEyeX() (at Assets/Standard Assets/EyeXFramework/EyeXHost.cs:462)
    EyeXHost:Start() (at Assets/Standard Assets/EyeXFramework/EyeXHost.cs:217)

    Which even after going through many previous links still wasn’t fixed, even though now the sdk comes with the dll in the plugins folder and so on.

    #5388
    Aram Azhari
    Participant

    Hi Jenny,
    Hi Aditya,

    It’s been a while that Unity had opened up the use of plugins even in the free versions of Unity.

    Now may be a good time for Tobii to update the SDK to resolve these issues.

    #5390
    Aditya
    Participant

    Hi Aram,

    Do you still have issues with Tobii and Unity, or have you moved to using Tobii on a different platform?

    #5392
    Aram Azhari
    Participant

    I don’t have issues using the old way, which is copying the dll to the main project’s folder.

    I have CPU efficiency problems and so does everybody else. It’s a known issue and Tobii has always been backlogging the big elephant in the room.

    If you follow their instructions to the letter, you should be able to use eyex in unity.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.