This year, Logitech brings to LauzHack the latest innovation in immersive interaction: MX Ink, a stylus for Mixed Reality, supported by the Meta Quest platform (Quest 2, Quest 3 and Quest 3s HMDs).
To help hackers tackle our hackathon challenge, we have put together a collection of resources to kick start the development of immersive experiences, focusing on leveraging the capabilities of MX Ink.
Unity game engine version 2022.3.50f1, you can get it from here. The sample code we provide has been tested with that version. More recent 2022.3.x versions should also work.
If you don’t want to use Unity, and you have experience with web app development, MX Ink is well supported in WebXR, see a sample project here.
The Quest HMDs are Android devices. It is highly recommended to install the Meta Quest Developer Hub, which provides a convenient UI to read device logs, grab screen shots, record video, cast your screen, etc. It’s a mandatory tool for demos, and documentation of your project. Note that you will need to create a Meta Developer Account to use this tool. The developer mode activation will require two-way authentication via a mobile phone. If you only want to be able to cast your screen to take videos or screenshots, you can also use scrcpy.
This sample project illustrates a basic VR application based on the OpenXR standard.
If you want to add features to your drawing app, follow this tutorial. This one will also show how to use the Meta Core SDK, instead of OpenXR. The Meta Core SDK makes it easier to add Mixed Reality options such as passthrough view, to let you see and interact with the real world.
One of the super powers of XR technology is the capability to share the same virtual world with more people. Multi-user applications mean using network (cloud) infrastructure to synchronize user representations (avatars), interactions and content.
One of the most powerful and popular SDKs used to build multiplayer applications is the Photon Engine. Photon provides some sample code that showcases MX Ink. See here for more details.
If you want a more basic implementation, you can use Unity’s Netcode library. This short video presents a quick intro to the basics. The next step is to integrate those concepts into a VR app, this tutorial can help with that. If you want to deploy your new collaborative application, you will need a few adjustments to help your users find the right server to connect to. This quick intro shows how to set up a Unity Relay service.