PIE Crashing when Trying to Load Save

I have a save game, and when I try to load it, it immediately crashes.

Hey there @Codingrocks3! When this occurs, commonly the issue is that whatever it’s loading is trying to change a variable that doesn’t yet exist. May we see the crash logs?

@SupportiveEntity Sure, here is the output with debug symbols installed.

EDIT: All I do is load the slot, I’m not trying to access any variables when it crashes.

Assertion failed: !FindObject<UPackage>(nullptr, *PackageName) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelHelper.cpp] [Line: 260]

UnrealEditor_Engine!FWorldPartitionLevelHelper::CreateEmptyLevelForRuntimeCell() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelHelper.cpp:260]
UnrealEditor_Engine!UWorldPartitionLevelStreamingDynamic::CreateRuntimeLevel() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelStreamingDynamic.cpp:153]
UnrealEditor_Engine!UWorldPartitionLevelStreamingDynamic::RequestLevel() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelStreamingDynamic.cpp:261]
UnrealEditor_Engine!<lambda_b704a7c45d1ac7686c4ae34f0c8d423f>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelStreaming.cpp:829]
UnrealEditor_Engine!ULevelStreaming::UpdateStreamingState() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelStreaming.cpp:1054]
UnrealEditor_Engine!UWorld::UpdateLevelStreaming() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:3907]
UnrealEditor_Engine!UWorld::BlockTillLevelStreamingCompleted() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:3812]
UnrealEditor_Engine!TBaseUObjectMethodDelegateInstance<0,UWorldPartition,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:618]
UnrealEditor_Engine!TMulticastDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::Broadcast() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:975]
UnrealEditor_Engine!AWorldSettings::NotifyMatchStarted() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\WorldSettings.cpp:302]
UnrealEditor_Engine!UWorld::BeginPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:4882]
UnrealEditor_Engine!UEngine::LoadMap() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp:14882]
UnrealEditor_Engine!UEngine::Browse() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp:14037]
UnrealEditor_Engine!UGameInstance::StartGameInstance() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameInstance.cpp:638]
UnrealEditor_Engine!UGameEngine::Start() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1219]
UnrealEditor!FEngineLoop::Init() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4372]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:182]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:107]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:244]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]
UnrealEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll```

Interesting! So the error itself is coming from the World partition’s level helper, which is part of the level streaming system. Does this occur on other (non world partition) levels?

It only happens with loading the save. I figured it out, but I can’t remember what I did.

Understandable! If you happen to determine what you did to correct it, definitely come back and let us know! I’ll keep the thread unlocked for that purpose.

I ended up doing something I know I shouldn’t have, but it worked for a quick fix. Adding a delay allows every needed object to load in before you load the save, and there is a better way by making a cache, but I don’t understand it.

EDIT: Found a link to a video explaining using timers instead of delays.
https://youtu.be/Xq_0EwmKj2w

Great work! This method is a bit safer than delays but can still have some similar drawbacks in some use cases, though I’m glad it fits yours!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.