What UnityCrashHandler64.exe actually is
What UnityCrashHandler64.exe is, where Windows crash artifacts live, and what to verify before changing a build that includes it.
- unity
- crash
- build
The first time a developer spots UnityCrashHandler64.exe in Task Manager, they usually ask one of two things: why is this in my game, and can I get rid of it. Start by not treating the file name alone as proof of its runtime or network behavior.
What this process is
Unity's current Windows IL2CPP build-files documentation lists UnityCrashHandler64.exe as a crash handler executable among the generated files. So seeing that file in a Windows Player build folder can be expected. The documentation does not, however, define the name, launch timing, or inter-process behavior for every Windows backend or for the Editor. Start with the deployed Unity version and scripting backend, using Unity's Windows IL2CPP build-files documentation as the reference.
What to check if it appears in Task Manager
For a report, record observable facts instead of the impression that it is “always running”: whether this is a Player or Editor session; the Unity version, backend, and build number; whether the executable belongs to that build folder; and which logs or crash folders appear around the exit. If a security product or firewall raises a warning, do not infer this executable's behavior from the warning alone. Check it separately against your organization's security policy and the distribution artifact's signature or hash-verification process.
Where to look for crash artifacts
The previous post separates Editor and Player crash-artifact locations. For a Windows Player, UnityEngine.Windows.CrashReporting.crashReportFolder gives the crash-report folder allocated to the current run. Unity documents the base location as %TMP%\<CompanyName>\<ProductName>\Crashes and also states that a unique path is assigned at startup. Do not assume a fixed file name or every artifact in that folder; query the actual path described in the official CrashReporting.crashReportFolder documentation.
For an Editor crash, Unity 6.6 lists %TMP%\Unity\Editor\Crashes as the default and allows -crash-report-folder to override it. That is separate from the Player path. Use Unity's log-file reference to establish which process exited first.
Can you remove it
Don't make arbitrary deletion of a build-output file the default remedy. These Unity documents don't provide a supported removal setting or guarantee runtime and reporting behavior after removal. Whether a game still runs, and which crash evidence remains, has to be tested separately for the exact build, Unity version, and reproduction conditions.
If packaging must change, retain the original artifact and precise build metadata, then validate a modified candidate in an isolated test environment. The Windows IL2CPP documentation specifically advises retaining the backup folder that contains debug information and generated C++ for every shipped build. An original artifact is essential when a later investigation needs a comparison point.
Don't reduce crashes to a managed-versus-native split
It is unsafe to reason with a fixed rule such as “C# exception means log, native crash means handler.” On Windows IL2CPP, Unity converts IL from scripts and assemblies into C++ before producing a native binary; GameAssembly.dll contains both the IL2CPP runtime and your script code. The same documentation notes that deleting SymbolMap can leave exception call stacks without a sensible resolution. Do not predict crash artifacts or stack-trace form from the source language alone.
Instead, collect evidence to match what was observed:
| Observation | Collect first |
|---|---|
| A Player or Editor exits | The process, Unity version, build number, and matching Crashes folder |
| A Console error or exception appears | The Player/Editor log and reproduction steps |
| An IL2CPP stack trace is hard to read | Debug information and SymbolMap that match the affected build, plus its exact identifier |
An empty Crashes folder also does not identify a particular kind of failure. An OS-terminated process, out-of-memory (OOM) condition, or external termination can require separate system diagnostics and resource records. Logs, crash reports, and a reproduction recording are not substitutes. Do not infer one kind of failure from another kind of missing evidence; correlate them by time and build number. That is also why error monitoring and QA capture are complementary.
Summary
UnityCrashHandler64.exe is a file Unity lists in its Windows IL2CPP build documentation. Don't conclude its trustworthiness, network behavior, or crash coverage from its Task Manager name alone, and don't remove it without first identifying the cause. Verify the distribution artifact and version, then collect the logs, crash folder, and debug information associated with that run.
Even with a crash report in hand, one thing is still missing — what state the game was in right before it crashed. A stack trace says where it died, not why it got there. The next post covers how to close that gap.
Our own Rekon captures the preceding video, logs, and game state in Play Mode when a user presses a hotkey. That manual capture does not replace crash reports and logs for an instant exit that leaves no time to press the hotkey. When there is time to capture an observed anomaly, it can add the time-based context an investigation needs.