Mobile VR - Multiview: Render to texture is black.

Hi to everybody, this is the first time I ask for help here on the community.

I have a big problem in Mobile VR.


Hardware requirements for the project… GearVR (on Samsung S10e).

Necessary software setup:

  • Forward render
  • MultiView
  • Oculus for Quest/GearVR

Target:
I am trying to have back mirrors in a drivable car: when I activate Multiview (to reach needed performances), the “mirror” goes black.

The mirror is created via a Scenecapture 2D + rendertexture + unlit material.


Issue retreaving:
There is this old issue (Unreal Engine Issues and Bug Tracker (UE-75839)) signed as “solved” in 4.23, but digging in, I discovered that it was signed “cannot reproduce”, and not solved.


Is there anyone with a good idea on how to address this problem?
(planar reflections is not an option… performances are terrible even in a “normal” environment on mobile).
Has anyone encountered and solved this issue?

Thank you to anybody for the help!

Marco

P.S. Answers related to changing hardware requirements are unfortunately futile, since it is a requirement of the project. :expressionless:

For Exynos devices, verify that Support OpenGL ES2 is checked in the Build section in Platforms > Android, and that Support OpenGL ES3 is not selected.
Found in https://developer.oculus.com/documentation/unreal/unreal-multi-view/ .
i guess s10 is exynos did you done this already?

Also there is a option Legacy shading try switching it maybe works other shading mode.

I tried both. In different combinations.
No luck.
When MultiView (and MultiView Direct) is on… the rendertarget is black. Otherwise it works flawlessly…

I recommend moving your project to ue4.25 1.because VR rendering is property of NDK(Google VR NDK Rendering API  |  Google Developers) and since ue4.25 uses a different NDK maybe your problem doesnt exist on that version . 2. 4.25 is under heavy development if your problem exists there you can just report the bug and they will fix it under a week(plz do it before release ).

I will look for it, but I’m not confident in using a preview version for this particular task.
Too many things that could go south.
But thank you anyway for the suggestion.

Hi Marco, did you ever find a solution to this problem? I’ve been spending half a day researching the same issue and just stumbled on your thread here, nice to know it’s just not me :wink:

No official solution since the gear vr is abandoned… (unfortunately we have to complete the work on that device).

We manage to find a “not ideal” solution.

You need to use ES2 instead of ES3.1 (modifying everything accordingly) and disabling MultiView (!!).
(Avoid 4.25 since ES2 is no longer supported… or so they say… )

I spent Sunday doing tests and way too many hours doing shader compiles (UGH!). In any case, these are my findings on 4.25.1:

Vulkan + Multiview = Black texture

Vulkan + MobileHDR + No MultiView = Works (?!) But pretty ■■■■ performance, and perhaps a edge case, but I understand they are working on getting limited HDR working on mobile and vulkan… so yeah, fingers crossed.

ES3.1 + MultiView = Black Texture

ES3.1 + No MultiView = Works (Not too bad performance, considering mobile etc…)

I’m building v8 (64bit) and I think the rest is pretty much the usual plain vanilla Oculus Quest settings.

Surprised it doesn’t work on the S10e, it has a 855 cpu and Mali gpu, way better than a Quest…

1 Like

As you noticed: since you can’t use multiview (that’s what makes the captures black) it’s better to switch from ES3.x to ES2… I noticed that the same level (with some cures) is fast enough in ES2 to be used for VR without multiview.

Thanks! Very helpful summary! If anyone finds a work-around (e.g. exclude certain textures from the effect of multi-view) please write here, I’m struggling with the same issue on Oculus Quest 2 development (trying to make mirror effects without using expensive reflections).

Seeing the same behaviour in 4.26.1. Using a Canvas Render Target and a SceneCapture2D; all settings left at defaults. Works on a Quest with GLES3.1, Mobile MultiView off. Turning on Mobile MultiView causes the render target to be solid black.

There was a fix committed which was included in 4.26.0 but it doesn’t seem to work for me.

hello guys, I’m creating an application for the quest, and all the materials are black, you can only see the emissive materials, but the rest of everything is black, I’m not making mirrors or using capture, but all materials, except the emissive, can someone tell me something to do? thanks