LoDs in VR?


In the Editor my Lods look fine but in VR they are popping in far too early. Do you need to double them for VR or am I missing some optimisation setting that is making them come in too early.
I’ve tried sg.ViewDistanceQuality=3 and r.ViewDistanceScale=1. Maybe my config files aren’t set up correctly. I can’t see to get the cooked or packaged game to look like the Editor.


in DefaultDeviceProfiles.ini

[WindowsNoEditor DeviceProfile]

in GameUserSettings.ini


Looking like the editor was a huge problem for me! It took me a year, what I found so far. Go to project settings, find framerate settings, turn off framerate smoothening and also turn off fixed rate. Apparently VR devices are going to use the framerates they want no matter what you do, so telling it any framerate just confuses everything. Also make sure you build in 64 bit.

I have no idea about LODs

I’ve noticed the same thing comparing LODs in the editor compared to through the headset. The transition between LODs is super noticeable in VR.
I guessed this was just down to the hardware display differences but now you mention it I think the way UE calculates the screenspace fraction of a mesh to choose it’s LOD could be incorrect resulting in the visible lod changes. There is something odd happening anyway…


I ended up going through all my static mesh LoDs and halving every value, that seemed to make it about the same as it looked in the Editor.
I still had issues with skeletal mesh LoDs but realised that was because I had been messing around with the scalability settings so much that they were lodding early.
It seems much better now although it could be a bug in the VR screensize calculation but I would find that surprising (I’m using UE4.24.2).

Thanks for the advice about LOD values. It seems a tedious thing to have to do and isn’t great if you are using the same meshes in VR and for desktop.
You can’t be persuaded to file a bug report for this can you? See what Epic have to say… :slight_smile:


I’m using r.StaticMeshLODDistanceScale to adjust distance in VR. I’m not sure it’s the right way but it works well for me.

Value between 0 and 1.


Thank you. There is a great LOD Distance difference in editor vs HMD. “r.StaticMeshLODDistanceScale 0.5” does the trick for me


there is also foliage.LODDistanceScale which works for foliage actors, and you can set the value to something higher than 1