Code found by VR developers in the Oculus Unity Integration reveals Facebook’s shared-space “colocation” API for Oculus Quest.
The code was first spotted by developers at Bentham Realities a few weeks ago while working on their upcoming title Hermetika VR. This week the same code was separately spotted by Gerald McAlister from RGB Schemes, a startup working on VR games & tools.
UploadVR searched through past versions of the Platform SDK and determined that these additions were made in version 1.40.0, which shipped in August 2019.
Colocation means having multiple Oculus Quests sharing the same playspace. Facebook showed off an “arena scale” prototype of this at Oculus Connect 5 in late 2018, but no further development has been shown since then. In February, Facebook told us that was a “tech demo exploring the possibilities of standalone headsets. Since the launch of Quest, we have focused on delivering a great consumer VR experience and have nothing new to share around co-location features at this time.” We asked Facebook if they have an update about the functionality and will update this post if we hear back.
Based on the description of the technology at the time of the OC5 demo, it likely works similarly to the colocation features already present in Apple’s ARKit and Google’s ARCore. Inside-out tracking generates a point cloud of static features in the room. Machine learning algorithms can find shared unique patterns in the point clouds of multiple devices and thus align the virtual spaces. The process requires no external sensors, base stations, or specific markers.
At home, colocation could be used to build “frictionless” local multiplayer VR experiences. Ideally, if two members of a household each own an Oculus Quest, developers could allow them to quickly enter a LAN same-space multiplayer session.
For location-based VR experiences that take place over a large space already like at a VR arcade, a colocation API for Quest could bring down the cost significantly. Today, each user typically needs a backpack PC as well as a headset, and an expensive external tracking system is often used to track the weapons/tools.
While Quest is typically sold starting at $400, Facebook sells Quest to businesses for $1000 per headset bundled with a business warranty and support, whereas a backpack PC alone can cost around $3000. An OptiTrack setup for these locations requires tens of thousands of dollars of cameras too.
The spotted colocation code is part of the Oculus Platform SDK component of the Oculus Unity Integration. The Platform SDK gives developers access to features which leverage the Oculus store and servers. This includes leaderboards, achievements, cloud storage, matchmaking, and more. On Quest, Platform SDK features are only available to developers who have passed Facebook’s pitch submission process.
In our February report about colocation, Facebook said teams reaching out to the company about the feature “have been directed to the enterprise and hospitality license, which provides more detail on terms.” The Oculus for Business Enterprise Use Agreement includes the restriction that “Unless separately approved in writing by Oculus, you will not…modify the tracking functionality (including the implementation of any custom co-location functionality) on your Software or take any action that will disable, modify, or interfere with the Oculus Guardian System.”
Of course, barring the use of “custom co-location functionality” doesn’t preclude the possibility of Facebook making its official colocation API available to some or all Quest developers at some point.
What kind of games would you want to play in a shared playspace? Let us know in the comments below.