WebXR. This is freaking awesome!

2 minute read

Long time no see. And again curves of the fate uncover gems on our road of life.

There is a site – sketchfab, it hosts 3D models of almost anything… Artists sell their work there. But you can preview. You even can preview in VR as the page is WebXR enabled. And that is really amazing: just from the native browser of Oculus Quests 2 into a scene.

But that’s only going back and forth: you’re on a flat page and then in the VR scene and then you are back in the flat page. Imagine if you use flat page as a launchpad: a place where “Upgrade” happens and where you are not going to come back?

Let’s consider a tool that you use every day: it can be anything, like a Terminal app or IDE (like IntelliJ or Visual Studio Code) or a web browser (like Chrome or Safari). Now think: here is a flat UI that the tool has (the one that you’re used to interact with) and if imagine for a second it has such launchpad – a WebXR enabled HTTP page served on a TCP port opened by the tool – where you can go with your XR capable device and “Upgrade”. And then you interact with your tool in a completely different way! You are in the center of a scene, you hold the menu (or it can be absolutely differently – you can be hoding your keyboard), there may be a main window spawned in front of you, a Web Inspector, Network tab, Elements view, Project tree, Debug Run, Tests… anything you can think of and in a way you can’t think of now. They can be separate flat windows, to start with, floating around you in a void. Or they can be 3D decomposed projections of layers (thinking of web page layers or program stacktrace) or interactive visualisations of data like 3D graphs or plots.

That was the OS-independant interfacing, but what if a hack happen on the Window Manager layer? There appeared to be a project xrdesktop where this is actually the goal. But that’s limiting each window to stay flat, 2D aged.

And for the closure: a 4 min video (you can fast-forward) of entering (previewing) a VR scene in Unity project while running via Virtual Desktop on a ShadowPC:

PS. And yes, I’m corona-positive for a week already, breaking through, learning things.

Updated: