Just loaded up my project with my plugged in after updating to 4.17 and found that it was crashing!
After a few hours of investigating I found that the cause was that paper 2D depends on the ‘LevelEditor’ module and disabling it means that it doesn’t get loaded in time for the InitializeHMDDevice() method in UnrealEngine.cpp.
One catch is that it won’t crash with default project settings! The offending line is @L2351 ‘HMDDevice->EnableStereo(true);’
which is only called if you enable bStartInVR.
Reproduction steps:
- Create a new project.
- Disable Paper2D plugin.
- Enable ‘Start in VR’ project setting
- Start project with SteamVR and a
Temporary fixes:
Go into your .uproject and set Paper2D to enabled
or
Go into DefaultGame.ini and set bStartInVR=False
Crash stack:
Assertion failed: ModuleManager.IsModuleLoaded(ModuleName) [File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Core\Public\Modules/ModuleManager.h] [Line: 259] Tried to get module interface for unloaded module: 'LevelEditor'
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_UnrealEd!FModuleManager::GetModuleChecked<FLevelEditorModule>() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\modules\modulemanager.h:259]
UE4Editor_UnrealEd!UEditorEngine::GetActiveViewport() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:3493]
UE4Editor_SteamVR!FindSceneViewport() [d:\build\++ue4+release-4.17+compile\sync\engine\plugins\runtime\steam\steamvr\source\steamvr\private\steamvrhmd.cpp:56]
UE4Editor_SteamVR!FSteamVRHMD::EnableStereo() [d:\build\++ue4+release-4.17+compile\sync\engine\plugins\runtime\steam\steamvr\source\steamvr\private\steamvrhmd.cpp:1129]
UE4Editor_Engine!UEngine::InitializeHMDDevice() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\engine\private\unrealengine.cpp:2353]
UE4Editor_Engine!UEngine::Init() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\engine\private\unrealengine.cpp:922]
UE4Editor_UnrealEd!UEditorEngine::InitEditor() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:575]
UE4Editor_UnrealEd!UEditorEngine::Init() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:863]
UE4Editor_UnrealEd!UUnrealEdEngine::Init() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:73]
UE4Editor!FEngineLoop::Init() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2665]
UE4Editor_UnrealEd!EditorInit() [d:\build\++ue4+release-4.17+compile\sync\engine\source\editor\unrealed\private\unrealedglobals.cpp:76]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launch.cpp:150]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]