To fix VR development flaws

Unfortunately, UE4 VR developers face many simple, but annoying problems. Some of them can be fixed easely, others are more complicated.

  1. [done BUT] Default screen positon of debug messages (like Print String or log in C++) makes them invisible both in a headset and default spectator screen.
  2. [done BUT] The same problem exists for stat game, stat gpu and similar console commands. Data tables are incomplete (left half is cutted off by screen) and useless.
  3. VR doesn’t work in stand-alone mode, so Profiler can’t be used in most cases.
  4. [partially done] Forward renderer is good, but it isn’t perfect and still doesn’t support some features. It looks like Epics just dropped it after Robo Recall release.
  5. [done] With forward renderer enabled ambient light doesn’t work in actor blueprints viewport. It’s just annoying. Usually I need to switch to unlit mode to see any changes.

Yeah, SSAO… Still waiting for it every release.

Don’t forget they removed VR from standalone PIE the last few engine versions, so if you are developing a networked VR game, then you have no valid PIE options.

Yes, this too. But you can launch server in non-vr stand-alone mode and clients in VR Preview.

And one more problem about multiplayer: both Camera Component and Motion Controller Component aren’t replicated by default.

Would be great if we could add CharacterMovement to a regular Pawn and/or have a Character that doesn’t have the capsule as root.

Implementing free locomotion while also supporting room-scale is a bit of a pain. Lots of stuff to rewrite.

Card about CharacterMovement refactoring (to make it work with Pawns) was in the previous version of the Roadmap in trello.

Well, I’m decidedly against that. It’s called ChacarterMovementComponent, not PawnMovementComponent.


Semantics aside, there’s a specific need for VR pawns that could be addressed better.

One more. New spectator mode is a huge progress, but it has some problems too. Here is what I don’t like:

Left rectangle is a current part of a rendered image used in SingleEyeCroppedToFill mode. Right rectangle is what I want to see. Why?

  1. Image resolution and visible area are more important then projection distortion. Yes, large image has this distortion, but it’s hard to see. At the other hand, now viewer don’t understand what player is doing because he only can see a small central part of player’s field of view.
    More importantly, I can’t use this mode to capture gameplay for trailers now, because current resolution is awful.
  2. In shooters players usually use right eye to aim, so streamers want to have output from the right eye, not left.

First, thanks very much for improvements in the last versions. Debug canvas in HMD Layer, ambient lighting in blueprint’s viewport, better spectator screen resolution etc. It’s great.

Secondly, I’d like to put in remembrance that Vive Trackers still don’t support output events which indirectly cause this bug with editor crashes:…use-crash.html…-trackers.html

  • After 4.19 (because of r.ScreenPercentage + vr.PixelDensity) debug text is too small and too far at the top and left of display, hardly visible in headset
  • Now both Oculus and SteamVR API support dynamic resolution. So Epics can add unified support for dynamic resolution in VR.

In what way does “SteamVR API support dynamic resolution”?