Assertion Error At Startup of the Successfully Packaged Build

I am using Unreal Engine 5.6.1 and my packaged Windows build crashes immediately on startup.

Crash assertion:

Assertion failed: ExportObject.TemplateObject->IsA(LoadClass)
File: D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp
Line: 8127

Call stack:
Shivery!FDebug::CheckVerifyFailedImpl2()
Shivery!FAsyncPackage2::EventDrivenCreateExport()
Shivery!FAsyncPackage2::Event_ProcessExportBundle()
Shivery!FEventLoadNode2::Execute()
Shivery!FAsyncLoadEventQueue2::ExecuteSyncLoadEvents()
Shivery!FAsyncLoadingThread2::Run()
Shivery!FRunnableThreadWin::Run()

Engine version:
5.6.1-44394996+++UE5+Release-5.6

The crash happens during packaged build startup, after asset loading begins. The log shows it reaches “Initializing Engine…” and then crashes after several meshes are marked for CPU read.

Does this usually indicate a corrupted Blueprint/class reference, invalid parent class, stale cooked data, or an asset that failed to cook correctly? What is the best way to identify which asset is causing this AsyncLoading2 assertion?

What I already tried:

  • Deleted Intermediate/Saved/DerivedDataCache and rebuilt
  • Changed the game instance to default engine game instance
  • Using an empty level for the build
  • Changed the Player character to a plain character

Only way I was able to run the packaged build was when I changed the Game instance, level and game mode to a default templates.

Attached is the link to the latest crash log zip file link:
Latest Crash log zip

For the starters I suggest to attach debugger to your exe to check which BP (if any) causes the problem.

Assuming you have a symbols for your build (in simple case = you’ve just built it and didn’t change or recompile code yet), you may do it via:

  • In Solution Explorer → RMB → AddExisting project...
  • Select the main *.exefile for your build. (the one in %BuildRoot%/%AppName%/Binaries/Win64, not the one that is immediately in %BuildRoot%)
  • In Solution Explorer → RMB on added exe → Set as Startup project
  • F5 (run with debugger attached) and see what’s exactly happens in context of crash
  • Don’t forget to set your %AppName% project to Set as Startup project once you figure things out.

You may also wish to disable source code must match exactly as it sometimes can be incovenient for debugging.

Checking through your extended log, as you mentioned, there are specific meshes marked for CPU read:

  • Portal_Arrow
  • SM_Ice
  • SM_Quartz
  • SM_Totem
  • SM_Iron_Ore
  • SM_Obsidian
  • SM_Sulfur
  • SM_Bone
  • SM_BundleofFlowers
  • SM_Mercury_Updated
  • SM_Waste

So, the engine is requesting data from these assets, and whatever is loaded next, results in the failed assertion. Meaning, an element tied to all these assets, is causing the issue. It could be a blueprint, a data asset, anything thath holds a reference to them.

To find this element, I would suggest using the Reference Viewer, and look for a shared parent asset across the affected meshes. Once you find a potential cultrip, check their parents’ status, their links and references, make sure nothing related to it has been renamed, moved, or deleted.