Unity IL2CPP build dies with il2cpp.exe did not run properly: the C++ toolchain the Editor never told you it needed
Problem
The Mono build of the game succeeds every time. Switching the player to IL2CPP (Player Settings > Other Settings > Scripting Backend > IL2CPP) — required for iOS, and the sane choice for a Steam release — fails within a minute:
Exception: C:\work\MyGame\Temp\il2cpp\il2cpp.exe did not run properly!
Error: IL2CPP failed to convert assemblies: "The system cannot find the file specified"Reinstalling the Editor, deleting Library/, and running as admin all change nothing. The error message blames il2cpp.exe, which exists.
Root cause
il2cpp.exe is not a self-contained converter: it shells out to a C++ compiler (MSVC via Visual Studio on Windows, Xcode's clang on macOS) to compile the generated C++ into the final binary. "The system cannot find the file specified" is il2cpp failing to find cl.exe / link.exe, because the machine has Visual Studio installed but not the "Desktop development with C++" workload — Unity's installer only offers it as a checkbox people uncheck to save disk space.
It only shows up when someone else builds: the developer who set the project up has the workload, a new CI machine or a new teammate does not, and the Mono build masked the gap for months.
Visual Studio Installer > Modify > Workloads >
[x] Desktop development with C++
… 1 more line in the fix🔒 the fix — including 3 code blocks — is members-only. $1/mo unlocks everything.