- Home /
.NET dll seen as native in Unity3D
I got a NI USB-6001 I/O device but it cant be used in unity3D. The purpose of the hardware here is to connect buttons, joystick, switches etc. to it and then to read it out by using the API and turning the channel values into parameters that can be used in de simulation. Basicly the point is to make a custom controller for unity3D. But i have the following problem with trying to use NI hardware as I/O.
If the NationalInstruments.DAQmx.dll gets imported into Unity3D it is recognized as a type Native .dll and not a .NET .dll which it should be. Because of this it wont be added to the references what results in the namespace name not existing.
Does anyone know if there is a way to resolve this?
Well, it most likely isn't a managed DLL. $$anonymous$$aybe it's a strange mixed-mode DLL Have you tried open the DLL in a reflector like ILSpy?
Also note that this software driver most likely consists of several DLLs and the major part is actually native code. It only works on windows build target.
You may want to have a look at this site.
$$anonymous$$eep in $$anonymous$$d that Unity can not use installed .NET libraries which are not located inside the project itself. Unity can't rely on things installed in the .NET environment on your PC. Unity uses $$anonymous$$ono and every library has to be included directly in your project
Answer by unity_B2XGWtBRxTJexQ · Oct 30, 2017 at 03:30 PM
@Bunny83 well it does indeed contain unmanaged code.
So i guess thats why unity sees it as a native plugin. But do you happen to know a way i will be able to use the classes of this dll even when its seen as native?
@unity_B2XGWtBRxTJexQ @Bunny83 Hi, Has someone solved this topic? Thanks