VRTK or Native Unity VR for a project starting development in 2019

Some more feedback for you @Matt_D_work

Right now as a lone dev with some experience with Unity the learning process has gone like this for me…

  1. Look the official manual and not Unity has built in XR support so no need for 3rd party bits from Oculus or Value, great now I have my HMD tracking by ticking a single box and that it awesome to be honest.

  2. I want to get my controllers involved so read the XR input section, find the input mappings. After some googling around stumble on someone that shows how the mappings work as its not that obvious (remember, I have some experience, not lots). Now I can get a button working, awesome.

  3. Now, how can I track my controllers? More googling as I can’t see anything in the manual. Find older articles and videos showing something call the ‘Tracked Pose Driver’. Download example project and all refs to Tracked Pose Driver can’t be resolved. More googling and find out for some reason its in a package called ‘XR Legacy Input Helpers’. That can’t be right as its ‘legacy’, whats the current supported way?

Come into the forum and read around for an hour or two and start to realised it is the current way to track devices but for some reason its called legacy. Ahhhh that must be because of the new input system I keep hearing about, great I’ll use that except its not production ready, nor is there helpful docs of any kind that make to me anyway.

  1. Take a step back and think, ok for the moment maybe I should go with the official Oculus integration to make life a bit smoother whilst I’m learning, they should have good docs etc. Download and import the asset / integration and open the locomotion example and its not working. I have no hands / controllers in VR. More googling and find out I need to enter Avatar ID’s which isn’t mentioned anywhere I could find.

So now I have hands, great. Start trying to teleport and instantly fall through the floor. More googling and discover snippet of advice regarding timestep to be synced with your HMD refresh rate. Do this and now I’m not falling through the floor. Result! Except now the teleporting doesn’t work randomly sometimes and just gets stuck and there’s a weird delay before it. More messing with the locomotion component and think I’ve partially fixed things but its still not perfect.

An that’s the story so far, I feel like I’m fighting to get to the start line. I’ve been a dev in one way or another for years, have C# experience (albeit a bit old) and am not new to the Unity editor and so on (but no expert either, 3D is new for me, 2D work previously) so I totally understand problem solving is part of things but wasn’t expecting this to be honest.

I also read that the way SDK’s are powering the bultiin XR support is now changing and I need to set things up in a new way, well I THINK thats what it was saying ( XR Plugins and Subsystems ), just felt like another confusing part of things.

In-between I’ve been trying out UE4 which I had 0 experience with and have had a much better experience. I fire up the VR template included and I’ve got height control, locomotion, basic interaction etc in blue prints, nicely commented etc. I read this works out the box for all major HMD’s with no effort. The UE4 VR editor works fine as well, I did try Unitys VR editor but it failed to even start, reading around lots of issues etc. I know Unitys VR editor is experimental but UE4’s is marked the same yet works out the box. Manual looks well written for VR for UE4. Also, forum threads like this…

https://forums.unrealengine.com/development-discussion/vr-ar-development/15238-getting-started-with-vr

I’ve also been shown an educators guide for UE4 thats free for VR containing best practises and setup that is exceptionally well written. An not directly something Epic have done but an up-to-date book around VR in UE4 as well, I couldn’t find the same for Unity of the same quality (and things you do find some want you to use the 3rd party SDK’s, not a lot if anything for the builtin stuff).

I’m not trying to point out how wonderful things are with UE4 and I’m sure there’s lot or trade-offs and its fair share of problems but these are things that if Unity had would really help us get going. For me and my VR projects at the moment I’ve paused with Unity and am seeing how I can get on with UE4, might be a terrible mistake but so far that’s not been the case.

** EDIT ** I also tried to take the survey here Unity Product Survey - AR/VR as your asking for XR feedback specifically etc but it doesn’t work and tells me its ‘invalid’

** MORE EDITS ** I created a VR template from scratch in Unity to see how that went, learned a lot by removing everything out my mind I was expecting and enjoying things a lot more by using the built-in Unity XR features. UE4 progress is slow and now I’m over the initial bump with Unity I have to say I’m progressing nicely and enjoying things.

1 Like