Editor assert. check( CurrentGWorld != PlayWorld || bIsSimulatingInEditor );

Using UEngine::Browse triggers assert in Editor, CurrentGWorld == PlayWorld.
Found it in my own project, also reproduced in ShooterGame, engine versions 4.19 and 4.21.
Reproduce rate is not 100%, sometimes assert is triggered during regular PIE, launching in new window improves reproduce rate.

Steps to reproduce:

  • Open ShooterGame project
  • Open Highrise map
  • Press Play New Editor Window
  • Press menu button on gamepad
  • Select main menu and confirm choise to return to menu

Callstack

Assertion failed: CurrentGWorld != PlayWorld || bIsSimulatingInEditor [File:D:\Build++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp] [Line: 1335]

UE4Editor_Core!FDebug::AssertFailed() [d:\build++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1338]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build++ue4\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3699]
UE4Editor!GuardedMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\launch.cpp:174]
UE4Editor!GuardedMainWrapper() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:276]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://epicsupport.force.com/unrealengine/s/

Thanks

This issue on the tracker

fixed in 4.22