Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

[QUEST 2] UE4 crashes when open level

FSkylineFSkyline Posts: 2
NerveGear
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!

Answers

  • NeoWintNeoWint Posts: 4
    NerveGear
    edited October 2020
    I am having the exact same issue currently, saw somewhere that disabling auto load splash screen might help but did not work for me. would love an answer for this as well.

    edit: why is it saying this post is answered? this is still an issue and NOT resolved for me

    Edit II: Switching form arm64 to armv7 fixes this for me, this is a workaround tho not a solution.
  • PiroKunPiroKun Posts: 6
    Brain Burst
    Are you using the handtracking pawn from handtracking demo? That pawn crashed my app on 2 but not on 1. I made another pawn (with default handtracking without custom mesh) and works again.
  • NeoWintNeoWint Posts: 4
    NerveGear
    No, i did not enable any handtracking. I use the default motion controller that comes in the vr template. Builting for quest 1 works as it should but building on quest 2 crashes upon "open level" I found a few more people with the same problem as well. No solution yet unfortunately.
  • FSkylineFSkyline Posts: 2
    NerveGear
    Hi! Thanks for your replies! As NeoWint, I'm using standard VR pawn from UE4.... Any help would be great in order to port our Quest 1 software to this new device...

    Thanks in advance!
  • GruguirGruguir Posts: 19
    Brain Burst
    I'm searching for any more information about this. I'm experiencing the issue on a Unity project. The same build freeze only on the Quest 2.
  • okenitelabokenitelab Posts: 1
    NerveGear
    Same problem here even starting from blank template and UE4.25.3 built from oculus sources. All is ok with Quest 1. Crash when calling open level on Quest 2
  • NeoWintNeoWint Posts: 4
    NerveGear
    So I used logcat to get any fatal errors while the app crashes and this is what I get, not sure how to read this and what the issue or the solution is, anyone have a clue?  
  • EvoPulseEvoPulse Posts: 2
    NerveGear
    So looking at your logcat, its the same issue I am having:

                // 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.

  • i3oi3oi3oi3o Posts: 4
    NerveGear
    issues.unrealengine.com/issue/UE-99329 Is this related to the current problem?
  • fun_erisfun_eris Posts: 2
    NerveGear
    edited January 13

    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.



  • ExtremysExtremys Posts: 3
    NerveGear
    Hey all, I'm trying to run Locomotion Map sample on my Quest 2. I used 5 October Oculus sources from last built UE fork 4.25.3 (I followed very carefully the "unreal quick start guide quest") to set up the project template but when I launch the projet on the Quest 2 from the project launcher I've blackout screen.
    I'm newbie but already dev, can you help me? Log file joined Thanks a lot!
    I'm trying to learn how to dev with UE on the Quest 2 but I'm very surprised to have some troubles to just use the basic templates.


  • aussieburgerVRaussieburgerVR Posts: 297 Oculus Start Member
    edited December 2020
    You're definitely using v20.1 btw?


    I don't have a Quest 2 so cannot confirm just wanted to highlight the release notes which highlight:

    Support for Quest 2 added to the integration only in the Oculus version 20.1
    which corresponds to ue4 plugin version 1.52.1:

    You can tell if you have the right version compiled if you can specifically select Quest 2 from the Oculus device support drop down list in the Android settings:

    Side note:
    Such a bummer UE4.26 comes with only 1.51.0 (so v19) which does not support Quest 2 :(



  • toranotorano Posts: 18
    Brain Burst
    Did you find a solution?

    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.

  • fun_erisfun_eris Posts: 2
    NerveGear
    @torano See my above comment. I fixed the link (accidentally posted this same forum post previously) and the fix in that unreal forum worked for me and others.
  • toranotorano Posts: 18
    Brain Burst
    I just found the cause of my problem. https://answers.unrealengine.com/questions/1000914/oculus-quest-crash-after-i-call-print-string-node.html

    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.
  • toranotorano Posts: 18
    Brain Burst
    I just found the cause of my problem. https://answers.unrealengine.com/questions/1000914/oculus-quest-crash-after-i-call-print-string-node.html

    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.
  • toranotorano Posts: 18
    Brain Burst
    I just found the cause of my problem. https://answers.unrealengine.com/questions/1000914/oculus-quest-crash-after-i-call-print-string-node.html

    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.
  • i3oi3oi3oi3o Posts: 4
    NerveGear
    On 4.26, The crash on DebugCanvas can come from message from Engine itself such as doing CSV profiler, stat unit etc.
    To avoid crash, You need to implement following code in UE4 source.
    Engine/Source/Runtime/Engine/Private/Slate/DebugCanvas.cpp
    void FDebugCanvasDrawer::DrawRenderThread(FRHICommandListImmediate& RHICmdList, const void* InWindowBackBuffer)
     {
    +#if PLATFORM_ANDROID
    +    return;
    +#endif
    The crash is related to RenderTarget binding in this function.

    You can also configure it in DefaultEngine.ini
    [/Script/Engine.Engine]
    ; This is the startup state of the OnScreenDebugMessage system
    bEnableOnScreenDebugMessages=false


Sign In or Register to comment.