Spatial

At Spatial, I was involved in software engineering, design, and product discussions for our main product, Spatial Meetings.

While working on Spatial Meetings I was responsible for implementing new features such as:

  • Azure Spatial Anchors integration for achieving cross-platform spatial synchronization between Hololens, iOS, and Android.
  • Azure Remote Rendering integration for remotely rendering high-fidelity 3D models and compositing them into our Hololens application.
  • Web Browser integration for the Oculus Quest which allowed the native Android web browser to be displayed in 3D space. Used the OVR Compositor for low-level rendering.


In addition, I was passionate about improving the Spatial Meetings codebase and pushed for the following optimizations:

  • Within my first month at Spatial I took ownership of a large-scale networking optimization. I started by analyzing all data we were sending over our realtime networking layer (Photon) within two weeks I was able to reduce our bandwidth usage by over 90%. I mostly achieved this via compression of 3D transform data and implementing a custom delta-based transform sync layer.
  • Several months later, unhappy with our game client’s frame rate, I spent four weeks analyzing and improving our app performance. I used Unity’s built-in profiler for CPU analysis and RenderDoc for GPU analysis. These optimizations encompassed rendering improvements, scripting overhead, and communication between CPU/GPU. After integrating these changes in four phases, our application went from averaging 30-40 FPS to maxing out the Oculus Quest’s frame rate at 72 FPS.

Lastly, I was responsible for porting Spatial Meetings to two new platforms:

  • The first being Magic Leap, an augmented reality headset run on a custom Android-based OS named Lumin. I was responsible for porting various features, such as our spatial detection, which did not support Lumin, to use their native SDK. I worked closely with the Magic Leap review team, to ensure our application met their quality standards, fixing many issues along the way.
  • I was also responsible for porting our application to support the Android-based Nreal augmented reality glasses. Supporting Nreal required recompiling Photon’s native android audio plugin to choose the proper microphone input, implementing a manual wall placement flow (since the Nreal SDK did not support vertical plane detection at that time), and optimizing the build pipeline to disable conflicting Android plugins between Oculus Quest and Nreal.