Packaged game without IOStore never hits this error.

Steps to Reproduce
  1. Download the repro project based on the ShooterGame from [Link Removed]
  2. Build the project with ue4.26
  3. Build packaged game with following commandline (please modify paths for your environment)
    E:\dev\ue426\Engine\Build\BatchFiles\RunUAT.bat ScriptsForProject=D:\dev\ue426Projects\ShooterGame425\ShooterGame425.uproject BuildCookRun -project=D:/dev/ue426Projects/ShooterGame425/ShooterGame425.uproject -noP4 -clientconfig=Development -serverconfig=Development -nocompileeditor -ue4exe=E:\dev\ue426\Engine\Binaries\Win64\UE4Editor-Cmd.exe -utf8output -platform=Win64 -targetplatform=Win64 -build -cook -map= -unversionedcookedcontent -encryptinifiles -pak -iostore -manifests -compressed -stage -package -cmdline=" -Messaging" -compile
  1. Launch the packaged game
  2. After launching game, Quickly press the 1 and 2 keys on the keyboard alternately in main menu (see [Link Removed])

The game crashes and displays error dialog

Assertion failed: false [File:E:/dev/ue426/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading2.cpp] [Line: 1147] 
Package /Game/Effects/Textures/Air/T_cloud_1 destroyed with RefCount

> ShooterGame.exe!FPackageStore::RemovePackage(FPackageId PackageId, UPackage * Package) Line 1147 C++ Symbols loaded.> ShooterGame.exe!FPackageStore::RemovePackage(FPackageId PackageId, UPackage * Package) Line 1147 C++ Symbols loaded.  ShooterGame.exe!FPackageStore::RemovePackages(const TArray<TTuple<FName,UPackage *>,TSizedDefaultAllocator<32>> & Packages) Line 1177 C++ Symbols loaded.  ShooterGame.exe!FAsyncLoadingThread2::RemoveUnreachableObjects(const TArray<TTuple<int,UObject *>,TSizedDefaultAllocator<32>> & PublicExports, const TArray<TTuple<FName,UPackage *>,TSizedDefaultAllocator<32>> & Packages) Line 5132 C++ Symbols loaded.  ShooterGame.exe!FAsyncLoadingThread2::NotifyUnreachableObjects(const TArrayView<FUObjectItem *,int> & UnreachableObjects) Line 5164 C++ Symbols loaded.  ShooterGame.exe!NotifyUnreachableObjects(const TArrayView<FUObjectItem *,int> & UnreachableObjects) Line 719 C++ Symbols loaded.  ShooterGame.exe!CollectGarbageInternal(EObjectFlags KeepFlags, bool bPerformFullPurge) Line 2041 C++ Symbols loaded.  ShooterGame.exe!TryCollectGarbage(EObjectFlags KeepFlags, bool bPerformFullPurge) Line 2177 C++ Symbols loaded.  ShooterGame.exe!UEngine::ConditionalCollectGarbage() Line 1365 C++ Symbols loaded.  ShooterGame.exe!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1657 C++ Symbols loaded.  ShooterGame.exe!UGameEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1794 C++ Symbols loaded.  ShooterGame.exe!FEngineLoop::Tick() Line 4836 C++ Symbols loaded.  [Inline Frame] ShooterGame.exe!EngineTick() Line 62 C++ Symbols loaded.  ShooterGame.exe!GuardedMain(const wchar_t * CmdLine) Line 169 C++ Symbols loaded.  ShooterGame.exe!GuardedMainWrapper(const wchar_t * CmdLine) Line 137 C++ Symbols loaded.  ShooterGame.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * _formal, int nCmdShow) Line 268 C++ Symbols loaded.  [Inline Frame] ShooterGame.exe!invoke_main() Line 102 C++ Symbols loaded.  ShooterGame.exe!_scrt_common_main_seh() Line 288 C++ Symbols loaded.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-110650 in the post.

Login to Vote

ComponentCore - Loader
Affects Versions4.25plus4.26
Target Fix4.27
Fix Commit15873288
CreatedMar 15, 2021
ResolvedMar 31, 2021
UpdatedApr 6, 2021