I was packaging my UE 5.5 project and kept getting this at the end of the cook:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION writing address 0x0000000000000030
[Callstack] UnrealEditor-UMG.dll!UnknownFunction
[Callstack] UnrealEditor-CoreUObject.dll!UnknownFunction
...
Cook failed. ExitCode=25 (Error_UnknownCookFailure)
No asset name, no Blueprint path, nothing. Just a crash somewhere in UMG/CoreUObject with no indication of which file triggered it. The project had hundreds of Blueprints and Widget Blueprints so finding the culprit manually wasn’t realistic.
The fix: run the cook manually from command line with a single worker process
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" "YourProject.uproject" -run=Cook -TargetPlatform=Windows -Map=YourMap -unversioned -iterate -CookProcessCount=1 -LogCmds="LogUMG VeryVerbose"
-Map=YourMap if you need to add more than 1 map you can do so by just add a + next to the next map, like so -Map=YourMap+YourMap2
The key flags:
-CookProcessCount=1 This is the important one. By default the cooker spawns multiple worker processes and their output gets interleaved in the log, so when a crash happens you can’t tell which asset was being processed. Forcing a single process makes the log sequential. After running this command, check the crash folder inside your project:
YourProject/Saved/Crashes/UECC-Windows-XXXXXXXXXXXXXXXX_0000/
Open the most recent crash folder and look for ActivePackage.txt, this file should contain the exact name of the asset that was being cooked at the moment of the crash. I’m not 100% sure if this file is generated only when using -CookProcessCount=1 or also with the default cook, but in my case it appeared after running this command and was the key to finding the broken asset.
-LogCmds="LogUMG VeryVerbose" Adds verbose output for Widget Blueprint compilation. If your crash is in UnrealEditor-UMG.dll like mine was, this gives you more detail. If your crash is in a different module, swap this for LogBlueprint VeryVerbose or LogUObject VeryVerbose depending on what the callstack shows.
-iterate Skips already cooked assets so you don’t have to redo the entire cook every time.
Once you have the asset name from ActivePackage.txt, open it in the editor and manually recompile it. You’ll get a human-readable error that will tell you exactly what to fix. Once fixed, the cook should complete successfully. Even if you don’t see errors in that blueprint is 99% the main cause of the problem!
Tested on UE 5.5. Hope this saves someone a few hours.
