Contrary to common sense, UnrealBuildTool does not use EPIC’s tested toolchain and SDK versions that the “Build farm compiles against” and instead uses “WindowsPlatform.DefaultToolChainVersion” and “WindowsPlatform.DefaultWindowsSdkVersion” by default. This may not be a good idea and may cause problems down the line.
Retargeting solution via Visual Studio does not change the SDK used.
To specify a specific toolchain(compiler) and SDK, you need to change two elements in BuildConfiguration.xml, located
Windows:
Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
<USER>/AppData/Roaming/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
My Documents/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
On Linux and Mac, the following paths are used instead:
/Users/<USER>/.config//Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
/Users/<USER>/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
Use the
<PROJECT_DIRECTORY>/Saved/UnrealBuildTool/BuildConfiguration.xml
directory for project-specific build configuration where<PROJECT_DIRECTORY>
is the path to your project’s directory.
Edit the XML file to something that looks like this:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<WindowsPlatform>
<CompilerVersion>14.38.33130</CompilerVersion>
<WindowsSdkVersion>10.0.18362.0</WindowsSdkVersion>
<!-- Replace version numbers with the ones you want -->
</WindowsPlatform>
</Configuration>
If you are not using an MSVC compiler, you need to specify ToolchainVersion too.
Links:
Tested Toolchain & SDK for UE 5.4
Build Configuration Info