Oculus is moving to the right open standards in the worst way possible
On a seemingly random Friday when all the world was about to tune into the Olympics, Facebook announced that they would be deprecating Oculus's proprietary APIs in favor of using the OpenXR standard going forward. On the surface, this seems like news to celebrate. After all, moving away from proprietary APIs that only work with one company's hardware, to open standards accepted by the industry at large, is a good thing. Right?
Generally speaking, yes. Facebook's move will be a net positive for game development going forward. OpenXR support should make it easier for games like Minecraft to make the leap from Oculus-exclusive on the PC to other VR platforms, even if it just means that more headsets can run the game without hackery. It also means that Oculus-exclusive games, like the upcoming Lone Echo II, could follow in the footsteps of games like Medal of Honor: Above and Beyond — a game that was Oculus-funded but debuted on the Oculus and Steam stores on PC.
But what might look rosy on the surface could have some rather problematic complications for the historical side of VR. As of the July 2021 Steam hardware survey, over 60% of VR users on the platform use an Oculus headset. That means developers who have built games using these soon-to-be-dead Oculus APIs will need to move to the new Oculus OpenXR APIs. This will ensure that their games not only work but also that they can utilize Facebook support to help fix any bugs that emerge.
Given that 10,000 people at Facebook work on VR, it seems a bit strange that Facebook will be completely dropping support for these APIs one year from today. Surely someone could be set aside to work with developers to ensure compatibility for any existing Oculus headsets out there, right? After all, Valve still supports the OpenVR standard even though it, too, moved to Open XR development last year, so what's up?
What's Friday got to do with anything?
I had a quick chat with Anton Hand, Co-founder & CTO of RUST LTD, after the news broke about this very topic. Anton is the developer behind one of the most popular VR games on Steam — Hot Dogs, Horseshoes & Hand Grenades — and one of the many respected names in the industry still utilizing OpenVR for his games. Given that he has precisely the right experience to lend some knowledge to this topic — developing for an API that's been superceded by OpenXR — it made sense to get his perspective on how Facebook's move is different and, ultimately, the wrong way to go about the situation.
Our chat began with a rather fascinating quote from Anton that follows an old news industry adage — the Friday news dump — which goes something like this: "you drop good news on Monday, you drop bad news on Friday." On top of that, this isn't just any old Friday; it's the Friday that begins the delayed Tokyo 2020 Olympic games. The perfect day to drop news that people will forget about as soon as they read the headline.
The move from proprietary APIs to OpenXR is the headline for a good reason. It's positive news that people didn't expect and, ultimately, helps to present Facebook in a golden light. It makes Facebook the good guys who have turned away from their sins and are embracing unity with the rest of the industry. The problem is that they're forgetting the industry that helped build them up to where they are now.
Get the top Black Friday deals right in your inbox: Sign up now!
Receive the hottest deals and product recommendations alongside the biggest tech news from the Android Central team straight to your inbox!
Forget the past
Ending support of old APIs might not seem like a big deal at first, but Anton brought up a fantastic point in our discussion that would otherwise get overlooked: what happens to older games whose development studios are no longer around? The best Quest 2 games aren't at risk here, but pre-existing Oculus-exclusive PC games might be.
Preserving the ability to play older titles is a pillar that the gaming community holds in the highest regard. After all, there's a reason there's been so much praise for Microsoft's handling of backward compatibility on the Xbox Series X|S and subsequent condemnation of Sony's handling of the same features on the PS5.
Games that were developed early on in the VR industry — we're talking 2015-2019 — could very well break if API support isn't present on newer Oculus headsets or in future Oculus software. Given the VR market's rather slow growth, there are a notable number of developers who have packed up and are no longer around to support these games, meaning we'll have to rely on the modding community to potentially make wrappers and other software hacks to get older software running on future headsets and software.
A history of issues
The other side of the coin involves current software — like Anton's own games — that might be running on deprecated APIs. Facebook says that new features will be delivered via OpenXR plugins, which means that games will need to move over to this new API to support newer Oculus hardware and software. Economically speaking, it doesn't always make sense to move from one API to another because it almost certainly involves a significant amount of reworking to fix existing systems.
I've reached out to Facebook to find out what they'll be doing to help developers migrate and this was their response. It certainly feels positive, but it's also their job to present things in a rosy fashion.
Over the past months and years, Oculus has combined its codebase and now delivers updates for its platform as a whole rather than for individual headsets. Over this time, there have been several new bugs introduced for headsets like the Rift S that might not otherwise have existed if these updates were separate for each hardware platform. So what happens when an update breaks compatibility for existing games using those older APIs? As Anton puts it:
It also means that people who currently use an Oculus Rift S — or maybe who have just recently purchased one — could see strange issues crop up in newer games because their headsets can't use the new standards. Facebook can't be expected to support older hardware forever — it's just not reasonable from any standpoint — but consumers expect a product like this to work for the foreseeable future, especially if there's nothing physically wrong or limiting about it.
A hope for Unity
Right now, many things are up in the air and require a bit more clarity (which we won't get this weekend). In the Oculus developer blog post, Facebook lays out specific support scenarios, including support for the Oculus XR Plugin with Unity 2020+. Some developers will tell you that Unity doesn't do a great job of supporting anything newer than Unity 2019.4 LTS, nor has Unity officially finalized the Oculus XR Plugin at this time. That compatibility support ends July 2022, so we had better hope Unity gets everything together before then (or that Facebook extends support).
To put it lightly, the VR landscape is a mess for developers. Few standards exist and the ones that do are often not widely shared. Developers often have to reinvent the wheel every single time, which is both a boon for creativity and a problem for development costs and time. With this move, it feels like Facebook is simultaneously adding to the problem and attempting to solve it.
If we're going to compare apples to apples, we can look to how Valve handled the exact same transition when it moved from its proprietary OpenVR APIs to the actual open source OpenXR APIs last year. Valve continues to support developers who have built games using OpenVR — precisely why Anton is such a great resource here — while simultaneously encouraging the move to OpenXR going forward.
Anton's thoughts are rather damning and may not be every developer's thoughts, but this sentiment has found its roots in more than one story over the years. There's no doubt that Facebook is pumping more money and time into VR than any other company. It's devoting more resources and manpower than anyone else. So doesn't it make sense for them to help grow the market in a way that no one else is?
I'm certainly hoping for better and would like to see Facebook support the ability to play older games, at the very least. Backward compatibility is important not just for the sake of being able to play older games on newer hardware, but to help preserve the industry as the art medium it is.