How to pare down a build for VR

Hello,

I am having a lot of frustration getting oculus to display anything built with ue4 correctly. there is always this lag during head tracking, the images momentarily sort of repeat in different locations when i move around. i can never get 75fps…70 is the highest i’ve gotten and even with that there is still the jitter.

i have done all the things people are saying in forums…turn off smooth shading, compile the game and run as an exe, run it without the engine on, hmd sp 100 or lower, etc etc…nothing seems to work and i am always getting the jitter. i even got the plugin UE4 launcher and set all the graphics to their very lowest…just got 70FPS and still the jitter. even if i build a level with a texture-less floor and one light…i get 40fps and a lot of jitter when i look around.

I have a geforce GTX 750, a ton of ram and a 4ghz, 8 core processor. shouldn’t that be enough? do i need to spend 300+ dollars on yet another video card just to run oculus properly?

BUT YET - I am able to run one demo…the rollercoaster one by Teddy0 (OK | Oculus)
but why am i able to run the rollercoaster demo with no trouble? does anyone know what is going on in that program that no other developer is doing? i can run that at its highest settings and it is very smooth.

this is so frustrating and i am thinking about just switching to unity even though i’ve really been enjoying ue4. thanks so much for any feedback.

This solved my problem, hope it helps you: Scalability Reference does not apply to standalone Game - Platform & Builds - Unreal Engine Forums

Hi treebykooba,

in UE4 there are some VR performance specific things to consider, because per default it tries to look as good as possible, not considering performance. You have to scale it down manually.

The UE4 hmd screen percentage value is per default higher in UE4 than it is in Unity, that leads to crisper graphics but it’s more performance hungry (the UE4 implementation calculates some IdealScreenPercentage to begin with). Personally I execute in the level BP the console command “hmd sp 100” every time the hmd gets available. Only to be on the save side I implement a sp selection for the user by binding keys to the console comamnd execution (could be some keys like u/i as +/- or what you prefer)

Next take a look at the landscape demo. It has a PostProcessingVolume_Oculus where Screen Space Reflections, TemporalAA and other stuff is deactivated (deactivating these two are a must vor Oculus) and other things optimized to not create performance hit on the oculus.

Next I recommend giving your user the option to trade of visual epicness agains performance. The GitHub - Teddy0/ScalabilityUIPlugin: A launcher for UnrealEngine that has graphics performance options is a good option to do this.

Personally I am happy with the performance, even on the Laptop with a GTM 650 I can live with it, using these.

Good Luck, have fun!

thanks for the help. i’ve been trying for the last hour to figure out how to deactivate temporalAA and screen space reflections. how does one do that? where is the PostProcessingVolume_Oculus file so I can look at it?

thanks…still pretty new at this.

thanks yes this helps especially to build the game as the scalability plugin is only for in the editor.

You can disable TemporalAA in the PostProcessingSettings. Write AA in the Search field above it’s details. Then you should be able to see it directly. IT is a advanced option under Misc - normaly you only see it if you activate the advaced options of the category.

For the PostProcessingVolume_Oculus, download the free Mountain Landscape Demo Game from the Marketplace. Look in the scene explorer on the right and type Occulus in the search field. - You can copy paste from this procect into yours easily if you cave both editorys open. - Of course the Landscape’s PostProcessing is optimized for the level there when it comes to colors etc. But performance wise it is a starting point with deactivated TemporalAA, SSR, Lensflare. Ambient Occlusion etc. Still looks goot on the Rift.

The Scalability Plugin does work in a standalone or even shipping build by the way. There is no problem using it.