Ben_Marsh:
Recent builds of the engine have the following requirements. It hasn’t changed in some time, so it should apply to older versions of the engine too: XInput 1.3 (April 2007)
X3DAudio 1.7 (February 2010)
XAudio 2.7 (June 2010)
D3D Compiler 4.3 (June 2010)
D3DCSX 4.3 (June 2010)
D3DX9 4.3 (June 2010)
D3DX10 4.3 (June 2010)
D3DX11 4.3 (June 2010) Also the Visual Studio 2015/2017 redist and universal CRT.
The notable things from that list are the XInput, X3DAudio, and XAudio dependencies. These aren’t included in standard installations of DirectX (and aren’t distributed with the OS by default), and have to be installed manually or distributed with the application.
For Fortnite, we use the “app local dependencies” option I mentioned earlier. All the files above are stored in Engine/Binaries/ThirdParty/AppLocalDependencies - they’re just copied from subfolders under there next to the executable during packaging.
We have an updated docs page explaining this, but it seems to have got stuck in review before being published. I’ll try to get that moved along.
Is there actually a way to get rid of those dependencies so that the users don’t even need to install DirectX 9 runtime? I take it that XInput is there because of a controller support and X3DAudio1_7 has something to do with… well, audio. What if our app doesn’t need either (it’s not a game)?