Problems with Resolution on Android - r.MobileContentScaleFactor

We are trying to create a VR pano viewer with Unreal since we feel it’s going to be performing VR-wise well and we can custom tailor the project for a certain client. We render our Cubemaps in Corona and we want to achieve the crispiest image on mobile possible.

There is this one big problem though. When we run the project on android device, the resolution is set to 1280x720 automatically even though the device has a much larger resolution like FHD or QHD. I found out you can use r.SetRes but refrained from doing so since it’s not advised for mobile where MobileContentScaleFactor should be used instead.

When I use the MobileContentScaleFactor set to 0 (so it uses native res) it doesnt stick to the screen but somehow scales out of the bounds and stays that way.

It looks like this with r.MobileContentScaleFactor 0:

And this happens when I only use .rsetres 1920x1080

Also here is how it should look, but it’s only 1280x720 as I noted

I am using Screen Position for the Cubemaps of the Right and Left eyes so each display’s side uses the right cubemap for that particular eye. I also tried to accomplish this through ScreenResolution to ScreenAlignedUVs and BreakOutFloat2Components but it seems that’s exactly what Screen Position does and doesn’t solve this behavior.

It is not just cubemaps and screen position that is wrong though. There are objects that aren’t part of the cubemap and they are not located correctly too. You can see them in the last image in the top left corner (in this image everything is on the correct location though - I just mean it’s not the screen position’s problem only)

It seems 1280x720 is the default for Android devices, aka r.MobileContentScaleFactor 1 (although I guess in .ini I could set this on a per device basis)

So r.MobileContentScaleFactor 2 is 2560x1440

And r.MobileContentScaleFactor 1.5 is 1920x1080 (correct for my device)

I however decided to use r.MobileContentScaleFactor 0

Only once was it possible to use r.SetRes 1920x1080f and afterwards r.MobileContentScaleFactor 0. And then I had true 1920x1080 pixels and everything was filled in correctly.

Could someone elaborate please?

I found out just now that it works when Mobile HDR is turned on.

I however don’t want that since it takes 10-20 fps off and there is no visible change apart from the problems with resolution.

I dont have an answer for you, but how have you created a vr viewer in Unreal? I’m currently rendering out stereo top to bottom images out of vray that I would like to show using Unreal.

Thanks a lot.

how to set MobileContentScaleFactor?
inside defaultengine.ini?

if youre using android just use google vr plugin