cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Quest Unreal engine development problems

132mikle
Honored Guest
First off, we are using UE 4.23 and we did bang our heads trying to set it up to at least work on the quest. Now a few questions and problems here : 

1. Why we can't have dynamic low res CSM shadows?
- Turning mobile HDR on was tried and it looked horrible, frame rate dropped to 40fps on a simple basic scene. Glitches and artifacts appeared.  What are we doing wrong? 

2. Using Vulkan for the performance boost. 
- The game packages normally, but will not start on the Quest, just goes to black and ejects from the game. Found out by looking at the crash log that it was Vulkan splash texture. cpp - or something to do with Vulkan, disabled it and the game runs. Vulkan SDK installed as well - not sure if this has anything to do with it but hey, we tried that too...

3. Auto instancing works amazing if you know what console command to call upon. 
- We managed to have it working with  r.MeshDrawCommands.DynamicInstancing 1

4. The slow process of packaging and testing an app. 
- The Launch does not work on the quest, hence we have to package every time to test a feature.  

5. Running statistics is especially hard.
- We heard about Renderdoc Capture and we will try to use it, if anyone has any experience with it, it would help a lot! 

6. Debugging and testing 
- Console commands and experimentations are not something we can do at all on the quest, simply because we don't have a keyboard. Tried pairing a Bluetooth keyboard with it, connects but doesn't work at all. 

7. Default lit becomes really expensive really fast.
- 30 + object with Default lit already has a great impact on the performance, we ended up simulating shading with an emissive shader model.
- credits to the creators of ScluptrVr - for the quest - can't post links yet  😞 

8. On a side note, a bug not related to Quest but to Rift  :
- Packaged the template VR scene for windows a few days ago and it WILL NOT run 90fps - stuck on 62, 16ms . 
We did not alter the template vr scene nor the configs, just a regular EXE package for windows.
Only did we by accident discover that just pressing the WINDOWS button on the keyboard resulting the game window losing it's focus, the FPS returned to rock solid  90fps 11ms in the rift. How do we fix this? Smooth fps is off, there is no fps cap and it just doesn't make sense, we had a reversed situation before where alt+tab resulted in the game slowing down, but this is just bizarre now. Also worth noting, this does not occur on the HTC Vive - the same packaged exe file. Also worth noting, earlier packages made with 4.20 work normally. - Perhaps this is more suited to ask on UE4 answerhub, but I wanted to share it anyway.

Thanks to everyone in advance and maybe some of these problems/hacks should be included in the docs for developing for Oculus Quest to ensure faster and better future development for the amazing platform that Quest is. 
  

1 ACCEPTED SOLUTION

Accepted Solutions

MaxArch
Heroic Explorer
1. Why we can't have dynamic low res CSM shadows?
2. Using Vulkan for the performance boost.
3. Auto instancing works amazing if you know what console command to call upon.
4. The slow process of packaging and testing an app.
5. Running statistics is especially hard.
6. Debugging and testing
7. Default lit becomes really expensive really fast.
8. On a side note, a bug not related to Quest but to Rift  :
- Packaged the template VR scene for windows a few days ago and it WILL NOT run 90fps - stuck on 62, 16ms



Dev-ing with new versions of UE can be a b^&*. Things can break with every new update, no up to date docs etc. You need to search/investigate quite a bit. But when its working again its really nice to be using the latest improvements!
Here's my reply to your questions / remarks;

1. CSM is bugged in 4.23 when using MobileMultiview. In 4.24 you can use CSM + mobileMultiview again. I don't use HDR anymore because I instantly lost 10 to 20 fps.
2. If I remember correctly, for Vulkan to work in 4.23 you need to compile with the Oculus Github integration yourself. I tested in 4.23 and its performance was on par with the native Ogl and Vulkan gave some purple artifacts so I didn't bother to use Vulkan.
3. In the defaultEngine.ini you just need to set r.Mobile.SupportGPUScene=1
4. Launching should work but it just goes through the same process like building + installing so I don't bother to get launch working. My process is; use the Rift for testing of blueprints, functionality etc. A few times a day also build for Quest to test performance and if nothing is broken in the controls / shaders etc.
5. Renderdoc is great to look for problems with drawcalls etc. Look for the 2018 Oculus Connect videos on YouTube. Remi Palandri gave a talk on using RenderDoc that will get you going.
6. I use 3d objects to trigger stuff. And sometimes adb commands to create logs to look for problems. adb logcat *:S DEBUG:V UE4:V VRAPI:V > debug.log
7. all depends on the project I guess. There's a nice talk on YouTube by the people who converted RoboRecall to the Quest. A few snippets of info on drawcalls etc.
8. no clue.

View solution in original post

2 REPLIES 2

MaxArch
Heroic Explorer
1. Why we can't have dynamic low res CSM shadows?
2. Using Vulkan for the performance boost.
3. Auto instancing works amazing if you know what console command to call upon.
4. The slow process of packaging and testing an app.
5. Running statistics is especially hard.
6. Debugging and testing
7. Default lit becomes really expensive really fast.
8. On a side note, a bug not related to Quest but to Rift  :
- Packaged the template VR scene for windows a few days ago and it WILL NOT run 90fps - stuck on 62, 16ms



Dev-ing with new versions of UE can be a b^&*. Things can break with every new update, no up to date docs etc. You need to search/investigate quite a bit. But when its working again its really nice to be using the latest improvements!
Here's my reply to your questions / remarks;

1. CSM is bugged in 4.23 when using MobileMultiview. In 4.24 you can use CSM + mobileMultiview again. I don't use HDR anymore because I instantly lost 10 to 20 fps.
2. If I remember correctly, for Vulkan to work in 4.23 you need to compile with the Oculus Github integration yourself. I tested in 4.23 and its performance was on par with the native Ogl and Vulkan gave some purple artifacts so I didn't bother to use Vulkan.
3. In the defaultEngine.ini you just need to set r.Mobile.SupportGPUScene=1
4. Launching should work but it just goes through the same process like building + installing so I don't bother to get launch working. My process is; use the Rift for testing of blueprints, functionality etc. A few times a day also build for Quest to test performance and if nothing is broken in the controls / shaders etc.
5. Renderdoc is great to look for problems with drawcalls etc. Look for the 2018 Oculus Connect videos on YouTube. Remi Palandri gave a talk on using RenderDoc that will get you going.
6. I use 3d objects to trigger stuff. And sometimes adb commands to create logs to look for problems. adb logcat *:S DEBUG:V UE4:V VRAPI:V > debug.log
7. all depends on the project I guess. There's a nice talk on YouTube by the people who converted RoboRecall to the Quest. A few snippets of info on drawcalls etc.
8. no clue.

Anonymous
Not applicable
3. Auto instancing
Do you recommend to create a Level Blueprint adding an executable command line?
 r.MeshDrawCommands.DynamicInstancing 1

I am wondering if this could fix my black artifact issues shown below:
rio2nvajxq73.jpg