Entering or exiting VR Preview crashes editor.

I use Oculus Quest 2 & Oculus Link to test my VR game in editor, and often(like once per 3-5 previews) when I enter/exit VR preview, the editor just crashes. No crash without VR.

I tried setting TdrDelay/TdrDdiDelay/TdrLevel in registry but no help.

This is the log I got with -d3ddebug option. It seems like a bug, but I don’t know at all how to fix it.

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 763] Array index out of bounds: 0 from an array of size 0

UnrealEditor_OpenXRHMD!FOpenXRHMD::OnBeginRendering_RenderThread() [D:\build\++UE5\Sync\Engine\Plugins\Runtime\OpenXR\Source\OpenXRHMD\Private\OpenXRHMD.cpp:2442]
UnrealEditor_HeadMountedDisplay!FDefaultXRCamera::PreRenderViewFamily_RenderThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\HeadMountedDisplay\Private\DefaultXRCamera.cpp:171]
UnrealEditor_Renderer!FSceneRenderer::ViewExtensionPreRender_RenderThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:4012]
UnrealEditor_Renderer!RenderViewFamilies_RenderThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:4342]
UnrealEditor_Renderer!<lambda_d825e7d5a738e0bb6b7e834ee381bd9e>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:4668]
UnrealEditor_Renderer!TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamilies'::`87'::FDrawSceneCommandName,<lambda_d825e7d5a738e0bb6b7e834ee381bd9e> >::DoTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:206]
UnrealEditor_Renderer!TGraphTask<TEnqueueUniqueRenderCommandType<`FRendererModule::BeginRenderingViewFamilies'::`87'::FDrawSceneCommandName,<lambda_d825e7d5a738e0bb6b7e834ee381bd9e> > >::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:1348]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:760]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:649]
UnrealEditor_RenderCore!RenderingThreadMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:415]
UnrealEditor_RenderCore!FRenderingThread::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:541]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]

This has been fixed in a future Oculus Runtime update. I unfortunately don’t have an ETA for release, but make sure you update when prompted!

1 Like

Good! Thank you.

Any update on this? It seems to fail several XR_ENSURE macros in a source build of the engine, which leads to this bug. It’s been a while now.

This has been fixed in v 53 of the Oculus runtime. I’m no longer able to reproduce it with the updated runtime and UE5.2/5.3.