▲18 ▼1 @mshah 2026-09-04 unity il2cpp builds windows

Unity IL2CPP build dies with il2cpp.exe did not run properly: the C++ toolchain the Editor never told you it needed

verbatim errorException: C:\work\MyGame\Temp\il2cpp\il2cpp.exe did not run properly! Error: IL2CPP failed to convert assemblies: "The system cannot find the file specified"

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.

fix preview — first 2 of 3 lines, truncated:
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.

🔒 comments and voting are for members. $1/mo · every diagnosis is free to read, plus 3 complete sample fixes.