Crash while unhiding level in multiplayer

hi all, I have a strange issue dealing with level streaming in multiplayer.

For some specific needs, I would like to hide a level while keeping it loaded but this result in an engine crash if following these steps:

0- Player A (server side) and Player B (client side) are in level X (which of course is loaded and visible)
1- Player A leaves level X and level X is hided locally
2- Player B leaves level X and level X is hided locally
3- Player B re-enters level X and level X is unhided locally
4- Client CRASH (server still works fine)

edit: (un)loading/(un)hiding is done by setting “should be loaded/visible” variables after (checking that bp is locally controlled)

No crash if Player A (server side) leaves and reenter/show level X.
Crash happens both in editor and standalone mode.

Is this a bug or I’m doing something wrong?

This is the stack trace:

LogWindows:Error: Assertion failed: WorldSettings [File:D:\Build++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\Engine\Private\Level.cpp] [Line: 476]
LogWindows:Error:
LogWindows:Error:
LogWindows:Error:
LogWindows:Error: KERNELBASE.dll!0x00000000FF123C58
LogWindows:Error: UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:120]
LogWindows:Error: UE4Editor-Core.dll!FOutputDevice::Logf__VA() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:70]
LogWindows:Error: UE4Editor-Core.dll!FDebug::AssertFailed() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
LogWindows:Error: UE4Editor-Engine.dll!ULevel::SortActorList() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\level.cpp:479]
LogWindows:Error: UE4Editor-Engine.dll!UWorld::AddToWorld() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\world.cpp:2159]
LogWindows:Error: UE4Editor-Engine.dll!UWorld::UpdateLevelStreamingInner() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\world.cpp:2780]
LogWindows:Error: UE4Editor-Engine.dll!UWorld::UpdateLevelStreaming() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\world.cpp:2846]
LogWindows:Error: UE4Editor-Engine.dll!UGameViewportClient::Draw() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\gameviewportclient.cpp:1128]
LogWindows:Error: UE4Editor-Engine.dll!FViewport::Draw() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\unrealclient.cpp:1185]

thanks in advance for your help

Hey Curs0,

I haven’t run into this before on my end, and unfortunately it doesn’t look like a known crash that exists in our database. I’ve spent some time trying to reproduce it based on the information you provided, but I was unable to do so.

Could you attempt to reproduce the issue in its simplest form in a clean project and get the crash to occur there? For your convenience, I will provide a project that is already set up to host and join sessions using the Steam subsystem so you don’t have to go through the trouble of creating that part. You can just modify this project to showcase the issue:

link text

sorry for late reply, problem disappeared adding a “should be loaded” node in order to also unload each hided level and moving function from a timer event to (a low frequency) tick event

in these days we’ll perform a few stress tests, I’ll let you know

I’m supposing I was setting “should be loaded” twice on each client, anyway problem disappeared tweaking a little my level bp. You can mark this as answered. thanks!