The Elusive UE4 Intel C++ Compiler Integration

So I’m convinced at one time the Intel C++ compiler was properly integrated into Unreal Engine 4. The UBT source code in version 4.27 (and others) supports this theory. There is also a closed pull request

Add Intel C++ Compiler support to Windows build #2667

The problem is there’s zero documentation on the specific compiler version. From what I can see the integration was made using “Intel C++ Compiler 2017”. For this release the build system looks in: "IntelSWTools\compilers_and_libraries\windows". But for Intel oneAPI DPC++/C++ Compiler (latest release) the default install path is: "C:\Program Files (x86)\Intel\oneAPI\compiler\2023.1.0\windows", and UBT doesn’t pick this up automatically. I have tried to specify:

<WindowsPlatform>

<CompilerVersion>Latest</CompilerVersion>

<Compiler>Intel</Compiler>

</WindowsPlatform>

But it can’t locate the compiler. Has anyone had success with 2023.1.0 by simply changing the install path or modifying UBT?

Hi AaronM0,

I have tried to build UE5.2 from github EPIC source repo with Intel OneAPI DPC++, and from my test it fails build some NNE Experimental Plugin with OpenSource c++ modules, c++20 fails, c++17 compiles most of the code but fails in module link.

A got to change the source to find the correct Intel instalation path.

So in:

Engine\Source\Programs\UnrealBuildTool\Platform\Windows\MicrosoftPlatformSDK.Versions.cs

static readonly VersionNumberRange PreferredIntelOneApiVersions = new VersionNumberRange
{
VersionNumberRange.Parse(“2023.0.0”, “2023.9.9999”),
VersionNumberRange.Parse(“2022.2.0”, “2022.9.9999”),
};

You can inspect from my changes Im appying to UE5.2 source.

In:

GitHub - Navegos/UE_5_changes: UE_5 Changes With Public Plugins

Carefuly inspect changes… some are new things that only work with UE 5.2 source version.

Good luck.

Any updates on this ? Did you try to use it with 5.3 ? I just followed the instructions from other thread in this forums. I only added IntelISPC in the project’s build file since I found out that the ISPC exe was already on 5.4 github. But Im not sure if its actually working. Also I see there’s a bunch of console commands to activate ISPC optimizations for serveral things. I don’t know if all optimizations are enabled by default. I just want to be clarified if ISPC is not like clang or MSVS. It looks to me like a secondary compiled that only compiles specific code while the rest is done by the main compiler.

Please can anyone explain the set up and usage properly ? Are all the chaos ISPC optimizaons activated whenever ISPC is included ?