How can I resolve the error stating that XINPUT1_4.dll is missing?

Hey folks, I’m trying my first build of UE4.1 and after a successful build in Visual Studio Express 2013 (On Win 7 Pro x64), I get this curious message:

Installing Visual Studio distributables didn’t seem to do the trick. I understand this is some kind of DirectX error and perhaps something to do with the latest version of DirectX, but the Xinput.h file clearly has exceptions to call up 9.1 version instead.

Anyone have thoughts on this?

XINPUT is definitely part of the DirectX runtime, the latest version of which you should already have installed on your system before running UE4. If, for some unknown reason, you installed the latest version and it didn’t do the trick, you can always manually obtain the file from somewhere and put it beside the rest of windows’ DLL’s.

I uploaded the ddl in my dropbox. If you trust me download it, if not then not :slight_smile:

https://dl.dropboxusercontent.com/u/45568602/XInput1_4.rar

I have a 64bit System so you need it maybe, too. Write a reply when you downloaded it, then I delete it. I hope this helps.

to my answer: put the file in your C:\Windows\System32 folder

Here’s the link: http://www.microsoft.com/en-gb/download/details.aspx?id=8109

Hey , thanks for the offer, but I can’t start installing mystery DLL files. I appreciate the gesture, nonetheless.

Hey Jamie,

Thanks for the link, the problem is that I’m running Windows 7 and official installations from Microsoft only install XINPUT1_4.dll into a Windows 8 installation, otherwise they install XINPUT9_1_0.

The problem here is that Unreal is supposed to be selecting XINPUT9_1_0 instead when loading. For some reason, building here, it’s requiring XINPUT1_4.

I even went into the code and changed all the references to XINPUT.lib to XINPUT9_1_0.lib and it still required XINPUT1_4.dll.

I ran that installer just in case, it didn’t install XINPUT1_4.

Oh, that’s odd. We should be using XInput 1.3 (which is the version that comes with the DX runtimes): XInput Versions - Win32 apps | Microsoft Learn

We don’t require you to have the DX SDK installed, as it should have come along as a third-party dependency from the extra zip files you downloaded.

Could you verify for me that you have the following in your UE4 folder:

  • Engine\Source\ThirdParty\Windows\XInput\XInput.Build.cs
  • Engine\Source\ThirdParty\Windows\DirectX

Yeah, I have XInput.Build.cs and it’s in that folder as well as the DirectX directory with x86 and x64 library directories under sub-folders.

I also have UEBuildWinRT.cs which also references Xinput.lib.

Okay, just to make sure that it’s not getting confused and including a different XInput.h, could you try adding a build error of some sort to:

  • UE4\Engine\Source\ThirdParty\Windows\DirectX\Include\XInput.h

If you then edit the following (I just add and remove a space) and then save so it builds again:

  • UE4\Engine\Source\Runtime\Core\Private\Windows\XInputInterface.cpp

All being well, you should then get a compile error from XInput.h. Either way, undo the changes you made to the file and let me know.

Thanks.

I had this problem and the reference was in UNREALEDITOR_AKAUDIO.DLL. I hardcoded the reference in AkAudio.Build.cs to XINPUT9_1_0.lib and the problem went away

I had a similar issue and the problem was that my dependencies were messed up. Make sure you have all dependencies downloaded including the files in UE4\Engine\Source\ThirdParty\Windows\DirectX\Lib. The XInput module links against XInput.lib and that’s what defines the actuall XInput DLL being used. If you miss xinput.lib in the folder I mentioned above then the linker might find it somewhere else (DirectX SDK).

XInput.h is not really related. It defines the DLL names but those defines are for loading it dynamically. The problem is that Core links to xinput statically via the XInput module. I’ve elaborated that a bit more in my answer below.

We ran into the same issue. The editor would load XInput1_3.dll, but the packaged game would load XInput1_4.dll, breaking Windows 7 compatibility. For us the problem turned out to be Wwise, which explicitly links against the system version of XInput.lib. The fix described here worked for us.

i am facing the same error as him, so can you reupload it pls