VR: Blurry in shipping, Sharp in PIE

There have been a few posts before where people comment on the fact that their game looks sharp in VR in PIE but blurry in VR in a shipping build.

For example:

Those posts have been answered with suggestions to increase the resolution or screen percentage in the shipping build, and that seems to be fine for those that asked.

I’m curious, however, as to the cause of this. If the resolution in PIE and the screen percentage in PIE (and as far as I can tell, all other rendering settings) are the same as they are in shipping, why does this occur? Is there something about PIE that makes it use a higher than reported resolution or screen percentage? Or some other setting?

Thanks for the info…

Its actually a bug in the initialization in shipped builds.

To solve it in a way that doesnt involve screenpercentage or anything else (which actually just works around it), you can do the following:

  • Create a new empty level
  • Make this new empty level your game-start-map (in project settings → maps&modes)
  • in the Level blueprint, on beginplay add a node “open level” with your actual first level
  • voila, everythings correct now regarding resolution etc

Or in short: when loading a new level, the vr resolution is correctly initialized, which doesnt seem to happen on the initial level load.

Cheers,

Thanks for that, it’s certainly more info than I’ve seen in the other posts. But that’s still a workaround, which is not really what I’m looking for. Still, it may give me a starting point for finding and fixing the root cause, so thanks!

1 Like

well, the root cause is an engine bug. more specifically, some things in the steamvr plugin get initialized after the engine did its base init for the gamestart-level, which is the reason for the fallback resolution. on a level load, resolution etc is reinitialized in the engine and this time with the correct values from steamvr (ok, its actually openvr). the main reason why this hasnt been fixed yet is that one would have to find the correct hook for initialization and delay engine startup, and that is nothing they want to rush in, since this means that startup is slowed down. Hope that clears it up a bit better :slight_smile:

One disclaimer though: This is what i found out in my debugging sessions till now; ofc it could be that i chased a ghost, but i am 99 percent sure. If you find something out, please post here :slight_smile:

Oh, absolutely. But whatever is holding Epic back from fixing it doesn’t need to prevent me from doing so. So, thanks again, I’ve got a better idea of where to look, now. :slight_smile:

Will do. Though it will be a while until I can get around to this. Maybe that’s why it never gets fixed…always something slightly more important…

So, the reason why i was not able to pinpoint it in the code and though that its a timing issue is, that its fixed in the master branch already for a few weeks (and now is fixed in 4.13 too). FYI,
https://github.com/EpicGames/UnrealEngine/commit/f2ae97c612728ccf4612f6058895f93b31601b49

Nice, thanks for the tip.