Search Unity

Does Unity 2017 bring something new to VR or can I stick with 5.6 ?

Discussion in 'AR/VR (XR) Discussion' started by Kiupe, Jul 21, 2017.

  1. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hi guys,

    I'm about to start my first VR project (yeah!!!) and I was wondering if I should stick with Unity 5.6 or if Unity 2017 brings new features of improvements in VR ?

    Thanks
     
  2. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    If you're just starting a new project, why not just start with 2017? It'd lessen the pain of trying to upgrade from 5.6 to 2017 at a later point...
     
  3. jldevoy

    jldevoy

    Joined:
    May 2, 2014
    Posts:
    33
    So far all 2017 brings is the ability to break all official samples from samsung and oculus, they work on import but once you reload the project unity has tried to alter the source and broken them.
     
    Arkade likes this.
  4. amplifiedciaran

    amplifiedciaran

    Joined:
    Oct 24, 2016
    Posts:
    16
    Also if you plan on creating a GearVR app for the Oculus store, use Unity 5.6 as 2017 signs the apk using Sigining Scheme V2 which Oculus will not accept, and has no plans of supporting.
     
    Arkade likes this.
  5. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    655
  6. massey_digital

    massey_digital

    Joined:
    Apr 28, 2013
    Posts:
    94
    I would wait until VR is a little more developed for Unity 2017. When I upgraded my project from 5.6 to 2017 I ran into a lot of compatibility issues with OVR libraries.
     
  7. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185
    Well, I can tell you this my friend, I've been working in Unity 5.5 with steam VR which worked pretty good, I had to play a lot with the frame rates and using The Lab renderer to get any workable results and even then it was a balancing act.

    I upgraded to Unity 5.6 and although it was a little better, it wasn't anywhere near enough to even consider moving my project from 5.5 to 5.6. There was just too many little errors that I spent time working on to get it to be where I had it working great in 5.5.

    Enter 2017.

    Now I'm not a religious man, but I can tell you, the skies parted, the heavens shined their holy light.

    I downloaded it on a whim to check it out since it came out of beta, just to see what all the hubub was. I noticed that VRworks was out as well but needed 2017 so I thought what the hell. I really figured that I was going to get all kinds of crazy crazy errors if I had those in 5.6 so I didn't have many hopes for anything special.

    I have an HTC Vive, GTX 980 TI and an i7 3.4ghz machine, pretty basic machine perfect for VR. I remember once when I saw that "Viking Village" from the demo a while back and I thought man that is so cool, I wonder what that would be like to walk around in VR! I remember loading it in 5.5 and doing all the usual stuff to get it to maybe work. The Lab Shaders, Major Occlusion culling, I did it all. At BEST on VR I got about 4-5 fps. Jaggy as all hell. A joke really, completely unusable obviously since you're shooting for 90fps!

    So I laughed and thought nothing more about it. When I saw the Viking Village for VR works and thought hmm, I wonder if there are any improvements, didn't think much of it, though I needed to download 2017.1, What the hell I thought.

    So here is where it gets crazy. That scene, the Viking Village? Is like 15-25 MILLION polygons on a good day. I just jumped in there (same setup just in 2017) and I thought HA! Choke, the screen didn't even move. I remember the moment when my cat jumped on the table and bumped the HMD, the game screen shifted. I thought, hmm that was weird, was that a glitch? So I picked up the HMD, I didn't bother before because I had not even done any occlusion culling on it, why bother right? 20 million Polys? Pashaw indeed.

    It was about that time that I noticed the game window FPS stats display, it read at 125fps. I looked at it for a second and thought, did it stop? That's weird, why is the game still on play when it locked up? Mind you, at no point, did I even think to put the headset on because I "Knew" it was locked up, no way it would make that big of a difference.

    So I put the headset on and looked out. Of Everything. That was CRYSTAL FREAKING CLEAR RUNNING AT 120FPS. My initial reaction was AHGAHAHAHAAHAHAHAHAHAHAAH!!!!!!! WTF!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    I had done no Occlusion culling and I was staring deadin the face of 20 million polygons, full DRAW ON EVERYTHING! I was freaking out, it didn't even BLINK at that Poly level. I literally almost dropped out of my seat. I still can't believe it.

    Two Words. Game. Changer.
     
    Bobbyross likes this.
  8. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Whats the set pass calls at? Its the set pass calls that kills VR perfomance. Anyway, 2017 seems to work alot better than 5.6 with SteamVR. Had alot of strange problems with 5.6 so we stayed on 5.5.

    So we are now moving to 2017.1, I was hoping that Shadowmask mode would be the savior for us that want shadows in our VR game. But its still very demanding. 4 point lights in our biggest scene at a time and my Ryzen 1800x had problem spitting out frame times below 11ms. And that was without a rifle scope up. With a rifle scope in our game we use a camera and that means ~50% more set pass calls

    But its nice that specular lighting now works with directional light, makes outdoor scenes much prettier
     
  9. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185


    Drag and Drop, no optimization, just occlusion culling. It has jagged edges on some things but I think that's antialiasing and I don't know how to change that.
     
  10. DreamPower

    DreamPower

    Joined:
    Apr 2, 2017
    Posts:
    103
    Unity 2017 does a whole lot with VR. The biggest change is it now has internal support for nVidia VRWorks (though you need a free Asset Store package to get it). VR Works gives a number of huge optimizations, and support for VR SLI (if someone has two GeForce 9XX or 10XX-series nVidia cards in their system, each can render one eye for VR).

    In addition:
    • VR: Added OpenVR to the default PC VR SDK list. The default behavior is to try initializing Oculus first, followed by OpenVR if an Oculus device isn't detected.
    • VR: GPU skinning can be enabled for Android VR. This is experimental, and behavior and performance should be verified on target devices.
    • VR: Updated Google NDK for Android and iOS to 1.40
    • VR: Updated to Oculus version 1.14
    And some VR bug fixes:
    • VR: Camera target eye masks now work under single pass stereo rendering. (817492)
    • VR: Fix crash in Editor when attempting to do Holographic Simulation when graphics API forced to DX9 (885634)
    • VR: Fix daydream back button handling to deal with app store submission rejection (893219)
    • VR: Fix Daydream icon labels to not display tooltip text in the label. (891613)
    • VR: Fix issue that was causing eye flickering in Daydream. (915277)
    • VR: Fix: Android antialiasing quality settings not being able to change at runtime. (896253)
    • VR: Fixed crash on HoloLens and Windows Mixed Reality caused by large amounts of input data overflowing queue
    • VR: Fixed particle shader errors when using instanced single pass. (872164)
    • VR: Integrate Google VR iOS SDK 1.20 (885513)
    • VR: Removed Daydream specific call outs in documentation that are no longer correct. (900866)
    • VR: Stop exiting VR when render scale is set higher than texture memory will allow and safely reverting back to last known good scale setting. (916952)
    • VR: VRDevice.refreshRate now reports correct values on Oculus devices. (820293)

    2017.2 has even more (though it’s still in beta), like a fake Vive headset in the Unity Editor, and native support for using a special VR version of the Unity Editor (previously you needed a special build of Unity for that).
     
    Last edited: Jul 31, 2017
    Arkade and pittsburghjoe like this.
  11. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    One problem with VRWorks is that yes its singel pass renderer is better than the vanilla one. Can we use it? Sure, but if you want to support ATI you need reduce set pass calls dramatically for them. To have two set of set pass call budgets for a game is doable I guess. but its hard work
     
    BlackPete likes this.
  12. Bobbyross

    Bobbyross

    Joined:
    Mar 24, 2017
    Posts:
    8
    Thanks for sharing! Sounds great... Had some glitches on 5.5.2 and decided to try 2017.1 out, and it´s seems promising. Are you using "The Lab Render" as the the renderer? I think that one work like magic, but heard some where that people aren´t using that as much anymore...
     
  13. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    257
    It does? Where can I read about those and have anyone done any benchmarking?
     
  14. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
  15. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    257
    Was that a reply to my question? Hasn't that option been in the Project Player settings in Unity since 5.6, or am I mistaken?
     
  16. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    This is native to the GPU. Problem that I see with it is that you cant really build a draw call budget on it since you still need to take into account ATI GPUs
     
  17. ekergraphics

    ekergraphics

    Joined:
    Feb 22, 2017
    Posts:
    257
    But it is native to Unity, and not the VR Works asset, correct?

    And again, the option is there in 5.6, and this thread is about 2017.x?

    You can build a draw call budget around it if you aren't in the market of releasing your apps to the general public. ;)
     
  18. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    There is a built in Singlepass renderer in unity, its not the same as the one in VR Works.

    Sure, a closed app for intranet use is offcourse a little easier. Its sad that Nvidia cant make their tech work on both main GPUs. It would be alot of good will.