Hi people! Today I finally got a Quest 2 device and we are experiencing some serious issues with when porting a project to this new hardware.
We work with Unreal Engine 4 (v4.25.3) and with the Quest 1 everything was working great, but at the time to run the build in Quest 2 we found that using Open Level crashes the execution (using the console command crashes too)
Is there any way to solve this problem?
Thanks in advance!
1
Answers
Edit II: Switching form arm64 to armv7 fixes this for me, this is a workaround tho not a solution.
Thanks in advance!
// Cache the nearest reflection proxy if needed
if (PrimitiveSceneInfo->NeedsReflectionCaptureUpdate())
{
// mobile should not have any outstanding reflection capture update requests at this point
ensure(Scene->GetShadingPath() != EShadingPath::Mobile);
I've verified that no reflection sphere or planar reflections are in the map, also turned off global clip plane, neither worked.
I'm having this issue on Quest 1 (armv7) with 4.25.1 Unreal repo (not Oculus fork). https://forums.unrealengine.com/unreal-engine/announcements-and-releases/1755531-unreal-engine-4-25-released/page28#post1807784 This post in the Unreal forums has a workaround that worked for me.
My understanding of the issue is that the poster seems to think it has to do with the transform getting updated again late in the rendering which is marking any visual components parented to the Camera or the MotionController as dirty and in need of a reflection capture. The ensure() in ComputeRelevance() assumes that they should not need a reflection capture at this point and throws this crash.
I am using Quest 1 with UE 4.26(launcher version) and getting the same issue that the app crashes on level transition with "Ensure condition failed: Scene->GetShadingPath() != EShadingPath::Mobile."
I tried both Support arm64/armv7 but neither worked.
If you are getting "Ensure condition failed: Scene->GetShadingPath() != EShadingPath::Mobile." error and crash on level transition, maybe your PrintString nodes on BeginPlay crashes your app not level transitioning. In this case, try Shipping build or DisableAllScreenMessages command.
If you are getting "Ensure condition failed: Scene->GetShadingPath() != EShadingPath::Mobile." error and crash on level transition, maybe your PrintString nodes on BeginPlay crashes your app not level transitioning. In this case, try Shipping build or DisableAllScreenMessages command.
If you are getting "Ensure condition failed: Scene->GetShadingPath() != EShadingPath::Mobile." error and crash on level transition, maybe your PrintString nodes on BeginPlay crashes your app not level transitioning. In this case, try Shipping build or DisableAllScreenMessages command.
To avoid crash, You need to implement following code in UE4 source. The crash is related to RenderTarget binding in this function.
You can also configure it in DefaultEngine.ini
; This is the startup state of the OnScreenDebugMessage system
bEnableOnScreenDebugMessages=false