Thursday, 22 November 2018

Oculus Made It Easier For Unity Devs To Port Rift Games To HTC Vive

https://ift.tt/2BrKsPL

Oculus Made It Easier For Unity Devs To Port Rift Games To HTC Vive

Facebook’s Oculus released a new update to its Unity integration package to make it easier for developers of Rift-only games to port to HTC Vive. The new “cross-platform development support” was added in version 1.31.0. The release notes state that this is an experimental feature, and that it “may change or be removed”.

The Situation Until Now

What makes modern game engines like Unity so useful for both developers and end users is that they support many platforms with the same project and code — eliminating development time to “port” a game from one platform to the other. The lofty goal of Unity is to let you focus on actually making your game and let the engine itself worry about platform differences.

However in reality, things aren’t quite so simple — especially in the VR space. Unity supports the Oculus API and SteamVR API with no effort from the developer required, but this support is fairly limited to essential features. So Oculus and Valve each provide Unity packages on top of these APIs — the Oculus Integration and SteamVR Plugin. These packages contain scripts, prefabs, resources, example scenes, and extra APIs to allow developers to have more than just the barebones VR support that Unity’s engine provides. If a developer wanted to release on the Oculus Store for Rift and Steam for Rift and HTC Vive, they had to use both packages, or the generic Unity XR framework which is inferior to both.

Using both packages takes extra development time and adds extra complexity to the project.

The New Update

The change in the new Oculus release is that the core features of the Oculus Integration now support SteamVR, instead of just the Rift’s Oculus API. From a development perspective nothing changes except that these prefabs and APIs will set and return values for a HTC Vive instead of just for a Rift.

The features supported so far are:

  • Camera: the OVRCameraRig prefab used to handle the virtual cameras for the user’s eyes and gameobjects for the user’s controllers fully supports the HTC Vive
  • Tracking: the API calls to get the velocity or angular velocity of the headset will work for HTC Vive
  • Input: the API calls to get the button states, thumbstick positions, and trigger depression of the Touch controllers – for HTC controllers the trackpad is treated like a thumbstick, and the app button (above the trackpad) is treated like the top Y/B buttons on Touch (controls mapped to the A or X button need to be changed)
  • Haptics: the same APIs for haptic feedback on Touch now works on HTC controllers
  • Guardian/Chaperone: the API to retrieve the user’s Guardian boundary and playspace will for HTC Vive users retrieve the Chaperone boundary and playspace
  • Avatars: Oculus Avatars will work on SteamVR, but non-Oculus users will have to select from a predefined list instead of creating their own (this was actually enabled a while ago separately, but ties in)

So what does this all mean in practice?

First off, none of this has any direct user-facing consequences, this is for developers. If a developer creates a game in Unity for the Oculus Rift, then decides to port to HTC Vive, they can in most cases now simply tick the OpenVR checkbox in the Unity platform settings. There is no longer a need to integrate SteamVR Plugin’s separate prefabs & APIs or to manage two versions of everything at once. We should of course note the SteamVR Plugin can also be used to support both headsets, but this can’t be used for Oculus Store builds. Ultimately, this means developers building with SteamVR first and then planning to submit to the Oculus Store eventually would have to use the Oculus Integration anyway.

Oculus Store games still can only have Oculus support ticked in Unity — this won’t make the HTC Vive work there. What this does do is lower the technical barriers to Unity developers building for Oculus first and then also releasing their apps on SteamVR.

Right now the only alternative platform supported by the Oculus Integration is SteamVR, with the HTC Vive listed as the only supported hardware. This is also just for Unity, not Unreal Engine. Hopefully in the future this support will expand to other platforms, because anything that makes it easier for developers to put their applications on additional storefronts is a help.

Tagged with: , , , , , ,

The post Oculus Made It Easier For Unity Devs To Port Rift Games To HTC Vive appeared first on UploadVR.



from UploadVR https://ift.tt/2TACpXC
via IFTTT

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...