It has been almost 8 months since I started down the StereoKit v0.3 journey! My quest to add Quest support has been a lot of work and learning, but it's finally here, and I'm excited to show what's new!
Here I'll show a technique I came up with that lets StereoKit draw all the UI surfaces in a single draw call! Since StereoKit targets standalone Mixed Reality hardware as first class citizens, I'm always searching for the most efficient way of doing everything, while still providing flexibility to developers!
I started working on a Mixed Reality (AR and VR) library called StereoKit in July of 2019, and I'm finally ready to release it into the wild! It's still early days for this tool, but it's already brought joy back into HoloLens development for me. Every time I sit down to write a StereoKit demo, or add features to one of the StereoKit based applications I'm developing, it just feels like magic! It's been a long time since I've had this feeling, and I hope it can do the same for you too :)
Interested in building a Mixed Reality application that's properly cross-platform? How about one that can deploy to a HoloLens 2 in under 20 seconds? Maybe you're not interested in worrying about how much of your user's information Unity is collecting and selling, or you aren't keen on paying Unreal a chunk of your income? Writing MR applications yourself can be a daunting challenge! But it's one that's about to get much easier, thanks to OpenXR. With every major MR company backing OpenXR, this is a tool that's going to set the standard of MR development!
While many people will be able to simply hook into an existing engine's implementation of OpenXR, it's not all that hard to do it from scratch yourself! Here I'll show you a single code file that's about 700 lines of code, builds and deploys in seconds, and can run on Windows Mixed Reality headsets and the HoloLens 2 emulator! I'll be using C/C++, DirectX 11, and the OpenXR runtime that Microsoft recently shipped!
Lately, I've been doing a lot of AR development for the HoloLens! Very exciting stuff, but a little rough on iteration time! Deploying to a device that has the right sensors, hardware, and setup just takes too much time, especially considering that in many cases, these sensors and hardware are already on my laptop! They're simply not accessible from within the Unity Editor by default. Adding access to them has really sped up development for a number of my use cases, so hopefully this will be of help to you as well!