While currently it’s possible to deploy to Gear VR, there are a few things that are missing in the stock UE4 that Gear VR developers need to have. Below is the list I just made based on my experience and posts from other devs (feel free to post addition and correct me).
HISMC for mobile VR (doesn’t support static lighting; potentially bogs down performance)
Foliage tool for mobile VR (works with 4.12.4, but bogs down performance badly; doesn’t support static lighting)
Multiview rendering (already in Oculus SDK)
3D spatialized audio and HRTF effects (optimized for performance too)
OVRLipSync (this one is implemented as plugin by a 3rd party)
Oculus Social voice chat (supposedly very low latency)
I might be forgetting something (and most likely what I am forgetting isn’t exclusive to Gear VR, but perhaps covers Android in general). I didn’t put Oculus Social here as I am not quite sure if it’s part of SDK, which suppose to be implemented already or something else entirely.
Some of these bullet points need to be exposed to BP.
Hopefully Epic listens and gets some of it (whatever is already available and requires least amount of effort to be integrated, like volume UI for example) into 4.11.3 or all of it into 4.12
P.S. I didn’t put Vulkan render path here since it’s unknown if S6 and alike will support it or if it’s S7 and up exclusive
Yep, GVR definitely needs some attention. It would be very nice of Epic if they can at least make sure that the the basic requirements for submission (sound volume UI, etc.) are easy to setup with Blueprints. Everything else would be a welcome bonus, not to mention that stuff like 3D spatialized audio is not limited to GVR and will benefit Android games as a whole.
There are being fleshed out as we speak. Our rendering programmer is working on support for the OpenGL Multi-view extension in order to get performance that is instanced-stereo like on mobile chipsets. The problem with instanced stereo as we implemented it for 4.11 on mobile chipsets is that the use of user clipping planes on mobile hardware is actually slower. Until very recently, we didn’t have a build of Android that supported the multi-view extension. Now that we’ve got one, we can move forward and make progress on that.
This is coming as well as part of our usability push. Probably not in 4.12 because it’s so close to locking down, but shortly after in our template examples, which you can then migrate to your own project.
Aaron, the UE4 audio engineer, is currently rewriting the audio engine, and Android spatialization is on the list of things to be done there. The hope is that this will be hitting late summer.
Good suggestions! We can look for proving solutions for this in our usability push.
These are probably a little farther off, unfortunately, but we can talk to Oculus about getting them implemented.
That’s why I love Epic - thanks for providing updates on where things currently are!
[MENTION=2437]Nick Whiting[/MENTION]:
So 4.12 gets nothing from the list? (I am surprised it’s locked down even before preview 1 is released :o )
Also, what about “Ability to disable depth testing for opaque materials (3D UMG widgets for GUIs/HUD; full screen effects using plane and masked materials; etc.)” ?
4.12, from a VR perspective, was a very short turnaround for us, because of the timing of the Oculus SDK releases. So, there’s a few features coming, but the majority of it was spent laying the groundwork for things like the multi-slice and multi-view rendering mentioned above, platform compatibility for StereoLayers support, and the groundwork for VR loading movies, which will be available soon after 4.12. Unfortunately, we’re beholden to the engine release schedule, so we weren’t able to get it all out in time.
As for the depth testing, I meant to include that with HDR support, since that’s a rendering / Android platform support question. VR is at their mercy for that one!
Ah that is really great to hear! something that should have been on the list above as well
[MENTION=2437]Nick Whiting[/MENTION]: Correct me if I’m wrong but HDR is already supported by android isn’t it? - it’s just not rendering correctly in stereo for GearVR so seems more like a specific GearVR compatibility problem then a Android platform issue? It would be really great to have this - for the particular projects that could still perform with HDR on it would really make our content stand out!
Could you also give any info/updates on Vulcan for GearVR?
Yes, it does work on mobile on devices that support it I believe, but the problem was in our handing off of the targets to the GearVR SDK (I believe…it’s been a while since we looked at it. I’ll follow up on this internally and see where it’s at.
With 4.12, we probably have enough of our Vulkan support in main now to give a decent go at it. Next time we sync with Oculus, we’ll ask them if they have a runtime that supports Vulkan, so that we can share textures back and forth as needed. Additionally, we’ll have to make a Vulkan bridge for it, based on the current OpenGL implementation. Looking forward to seeing what kind of performance gains this might get us
Bumping thread, very useful list and thread considering current state of GearVR support in UE4 and unfortunately rather weak communication from Epic’s side concerning this topic.
It would be nice if you could get rid of the bug (?) involving HMD and the camera relative rotation, since right now, attaching a camera to a rotating pawn is ignored completely by the HMD. HMD seems to be world relative rather than parent relative, no matter what you do.
I’m trying to make a Matinee driven sort of game, where you are inside a moving ship that takes gradual turns like any vehicle. The HMD gives you total control of the camera but ignores the (yaw) rotation of said ship making the trip really difficult to follow (if the ship takes a 180º turn, you are suddenly looking at the back of the seat).