DllNotFoundException: LogitechSteeringWheel Unity5 OSX

I’m trying to use the sample c# script for the logitech g27 steering wheel. I’m in OSX and Unity5. I’m going mad trying to get the dll to load.

The error I get is:
DllNotFoundException: LogitechSteeringWheel
LogitechSteeringWheel.Update () (at Assets/Resources/Scripts/Runtime/libs/Logitech/Script Sample/LogitechSteeringWheel.cs:52)

The dll file is placed in Assets/Plugins/Logitech/x64 and in Assets/Editor/Logitech/x64 (the x86 verisions are also in separate folder x86, but 'I’m working on a 64bit Osx and compiling for 64bit).

If anyone can shed any light, I’m stuck with this and I have little time to make it work.

Thanks

Chris

Does:

help? Plugins need to be tagged to say which platform they are for, and where they are on disk isn’t important.

Dear Graham,

Thanks for your answer !

The LogitechSteeringWheel.dll is in the asset store. Belngs to the Logitech Pack. As I wrote I’m working in unity5 in OSX. I’m unsure how this works, but I need the LogitechSteeringWheel to work in OSX. I tagged the dll for Editor and Standalone platform, but when the script loads the dll I’m still getting the error.

DllNotFoundException: LogitechSteeringWheel
LogitechSteeringWheel.Update () (at Assets/Resources/Scripts/Runtime/libs/Logitech/Script Sample/LogitechSteeringWheel.cs:52)

My question is: Why do you think this is not loading?

Please se attached:

2115088--138785--Captura de pantalla 2015-05-15 a las 15.34.13.png

I am sorry, but it’s impossible to make it work on OSX. LogitechSteeringWheel.dll is a native Windows library, so it’s only compatible with Windows. On OSX you have to have OSX native library or a bundle.

1 Like

Doh! Should have thought of that to start with.

I’m also stuck on “DllNotFoundException: LogitechSteeringWheel” even though I’m in a Windows(64bit) environment.
Here are the DLL settings:

And here’s the code in question:

  [DllImport("LogitechSteeringWheel", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
  public static extern bool LogiSteeringInitialize(bool ignoreXInputControllers);

  void Start()
  {
      LogiSteeringInitialize(false);
  }

Am I still missing something somehow?

Ziad, it looks like you have only enabled it in a Standalone build, but not in the editor. Tick it on in the editor too, that might do the trick.

Thanks Kyle but I’m still getting the same error :(:

I’m also getting this confusing error before the DllNotFound exception:

Not sure how any operation can fail and be successful at the same time though and from I found on the web the GetDllDirectory can only be called from C++ :face_with_spiral_eyes:.

Maybe that dll has dependencies ? And you’re right GetDllDirectory is called from C++, and most of the native plugins are compiled with C++ :slight_smile: But in this case, GetDllDirectory is not to blame.

1 Like

I’ve imported all the required DLLs straight from the official Logitech SDK and kept everything except for the incompatible “x86” folders. I recently reinstalled windows and Unity 5 along with all x64 Visual C++ redistributables released to date(2005/08/10/12/13/15) only to see those same errors haunting me back again :hushed::

I’m also attaching the project package here for anyone who wants to have a look. Thanks for your support Thomas :).

2261020–151237–LogitechWheelTest.unitypackage (1.71 MB)

Could you clarify which Unity version you use?

5.1.2f1 the latest. Btw from the latest reviews here it seems I’m not the only one concerned.

Okey, here’s what I found, it seems LogitechSteeringWheel.dll is dependent on 64 bit xinput1_3.dll which isn’t available by default, at least it wasn’t on my PC, you can acquire it in two ways:

Btw, you can find missing dependencies yourself by installing http://www.dependencywalker.com/ x64 bit DependencyWalker, drag & drop dll, and it will show you missing dlls on your system.

Hope that helps

1 Like

Can’t thank you enough for this Tomas :). The DLL can be found in Windows\System32 or Windows\SysWOW64 for the 32 and 64bit versions respectively. I’ll add a review later on the AssetStore page concerning this issue once I’ve tested it thoroughly.

Nice to hear that.

so glad to see solve you problem ,and when you solve this problem,can you using the LogiSDK in you program.I found my program can’t initialize it.Just like below.

False
UnityEngine.Debug:Log(Object)
LogitechSteeringWheel:Start() (at I:/unity3d/CarDemo/New Unity Project 1/Assets/Logitech SDK/Script Sample/LogitechSteeringWheel.cs:36)

Hello All,

Looks like there are quite a few out here who have been facing the issue regarding connecting their g29 with unity. I was hoping it would be pretty straightforward, as the wheel has become a standard for any simulator, but Im getting the same error, after trying all the solutions out here. Initially, I did not have a Plugins folder in my assets, which I created and put all the dll files in, including xinput1_3.dll file.
and my path look for dll files was. Assets/Plugins/x64(or x86_64, I tried both) but didn’t seem to work. one of the comments mentioned to have a hierarchy like this inside the Logitech SDK folder, so my path for dll files were: Assets/Logitech SDK/Plugins/x64… still got the same error. I hope someone could share their work if they have figured this out. I got the latest steeringwheel.dll files as well as mentioned in other forums, still no luck.
Thanks.

Got the same problem here, can’t get it to work, got all the dlls etc in the Plugins folder, got the Xinput there as well and still getting DLL not found for the logitechsteeringwheelengineswrapper.dll

Hello, so after long hours, i have finally fixed the issue of the wrapper. You need to head to logitech website and download the latest steering wheel SDK
https://www.logitechg.com/en-roeu/partnerdeveloperlab/sdk-resource-list/steering-wheel-sdk.html

then take the “LogitechSteeringWheelEnginesWrapper” file from it. also download xinput1_3 from google. After you have both files, head to Unity, Logitech SDK and paste these 2 files. Replace the LogitechSteeringWheelEnginesWrapper with the one that you have downloaded. this worked for me. now everything works fine.

1 Like

Thanks for that, I found out the hard way that is the thing to do, surely you would think Logitech would, or someone at Unity would suggest to them, fix their asset so it is not using debug dll’s.