Porting StellarX to Meta Quest
Embark alongside the StellarX team for a deep dive into the software’s transformation into a fully standalone version
When Meta announced their intention to release the new Meta Quest Pro headset, we saw a golden opportunity to diversify StellarX’s accessibility. Here, at OVA & StellarX, our core mission is to make immersive experiences accessible to just about anyone; and, as such, we believe that making StellarX available through mobile standalone VR devices is as essential as ensuring that we are hardware agnostic, which means supporting various ecosystems while maintaining full cross-platform compatibility. For us, multimodality is key — and we are always eager to explore new ways of interacting with “realities”. ✨
So, when Meta offered us the opportunity to bring StellarX to their ecosystem, we were absolutely stoked. The port would allow us to work on implementing Mixed Reality features (scheduled to start unrolling very soon) to the platform, while making StellarX a fully-fledged standalone and cross-platform VR product. Meta understood the great potential offered by StellarX as a Space that allows anyone to create immersive, interactive, and collaborative experiences.
And now, after months of hard work… we’re proud to say that StellarX standalone has finally become reality! StellarX was launched on the Meta Quest Store as of April 27, 2023. 🎉
As straightforward as it sounds, this wasn’t exactly an easy deal. There were lots to consider, and plenty of time, effort, and resources were invested in this project from the R&D, Development, Design, and Art teams alike. Wanna know how we made it happen? Let us walk you through the whole port process from a few different points of view!
R&D
For Research & big-picture Development, we’ve had quite a few challenges to tackle along the way — most importantly, in regard to performance. Developing an application on one single platform is already hard; so, porting a sandbox creation app that was originally developed for PCVR hardware to Mobile VR, while maintaining 1:1 feature parity, was quite challenging to say the least.
For StellarX specifically, we were dealing with user-generated interactive environments including physics, 3D models and various media import at runtime, multi-user networking, Cloud transfer, animated avatars and, last but not least, a fully-fledged Visual Scripting system for scenario creation. While maintaining a stable 72 FPS, which is essential for user comfort inside a VR experience, we had to find a way to port all these features as well as ensure the highest graphic fidelity possible. Plus, on the Quest 2, all of this had to fit within 6GB of shared memory between the CPU and the GPU. 🖥️
Since StellarX allows users to build their own environments from scratch, we could not rely on frequent game-optimization tricks such as pre-baked lighting, and static batching. We also chose to work with real-time shadows; while a risky choice on mobile VR hardware, we found it made the environments far more believable. All of this was made possible, in part, due to our implementation of Meta’s Fixed Foveated Rendering (Quest 2) and Eye tracked Foveated Rendering (Quest Pro), which lower rendering resolution of the peripheral vision and saves GPU resources to render, at a higher resolution, the foveal region (which matches where the user is looking through eye tracking). In the words of our XR Design and R&D Director, Pierre-Luc: “ After all, we are talking about immersive experiences; it’s all about feeling like you’re truly there ”. And so, the fluidity and fidelity of the environments play a big part in the success of the experience. No shortcuts here! Above all, what made all the difference in the world is that, as a team, we were able to find our “golden number” for teamwork. Working toward the same goal, we set a welcoming environment for new ideas, where the expertise of each team member could shine through. At the end of the day, we are people building stuff for other people; and a Virtual Reality technology is only as real as the human experience it is serving.
Development
From a sole development standpoint, there was plenty to consider; from the integration of new content, to fixing any compatibility issues caused by the migration to a new platform. Our goal was to release the most complete, optimized, and user-friendly version of StellarX; and, to do so in a healthy manner for the team. Time, communication, and close collaboration were of the essence! 👨💻
About half the Dev team worked on the port itself, on bug fixes, and on performance and accessibility improvements, while the other half worked on new features and similar initiatives. Our Quality Assurance team also jumped in with both feet, and helped us a lot by identifying and documenting all kinds of issues. Overall, the porting process went quite well; we made sure to plan robustly beforehand, and even though time went by so fast, we always left a little room in our bi-weekly plannings for unexpected surprises and last minute requests. Throughout it all, we were able to keep a steady flow, without overloading the team; but, of course, that doesn’t mean we didn’t have to face a few hiccups along the way.
One of the biggest challenges was related to future workload. While we wanted to release StellarX in full to the Meta ecosystem, we still had to maintain the PCVR version of the software. So, a question arose: how could we support two platforms simultaneously, without doubling the workload for the team? We felt that if we didn’t tackle this issue during the early stages of development, it would soon become impossible for us to maintain the product adequately. Through many iterations, we developed automated tools to test, build, and deploy StellarX to both supported platforms, and we worked in concert with our QA team to ease and alleviate as much manual work as possible so they could focus on what was most important: making sure to deliver immersive, interactive, and meaningful experiences via StellarX.
Design
Releasing on the Quest store had plenty of moving pieces that we had to manage from a Design standpoint; from changes in the user flow when opening the application, to the way interfaces are built. Overall, the questions we asked ourselves while designing the standalone version of StellarX ended up addressing important usability points, and facilitating a lot of general improvements to the software’s user experience.
Interface design was definitely central to the design team’s contribution to the port. To assist us, we used the Oculus Developer SDK guidelines, comprising a rich section on UX Design considerations. This documentation provided us with a strong foundation to create high quality User Interfaces (UIs) that are legible, usable, and visually appealing under a standalone context. Throughout the process, we aimed to integrate these research and documentation guidelines in our proposals to the best of our ability. We also got the opportunity to tackle complementary projects that led to significant improvements to StellarX’s user experience. For example, we revamped the whole log-in and sign-up flows at the app’s launch, to enable a smooth registration process for all incoming users; prioritizing simplicity, usability, and providing complementary information to our users.
The overall process went well for the Design team, in part because we spent a lot of time exploring the capabilities of the Quest and the range of experiences already offered on the Store and AppLab. As designers, it’s important for us to get exposed to a diverse number of VR standalone experiences like video games, productivity apps, animations, and more, to gather inspiration and knowledge about what works, and what doesn’t. We’ve definitely kept busy with our headsets over the last 12 months, and fallen in love even more with what we do and the platform we design for. 💖
Finally, there was also a matter of accessibility that came with launching the app on a device that’s more widely accessible than a PC or a VR-Ready laptop. It was going to be easier to install and try StellarX; and so, the implications were that more users would be exposed to the app. This opened up a wide avenue for receiving and implementing user-generated feedback and insights, which is an exciting prospect we’ve been looking forward to in the Design team: making the app more widely available, so that we can learn more about our users’ experience.
Art
From a 3D Art perspective, this switch allowed us to reflect on what was essential in composing a 3D environment to make it truly interesting, believable, and immersive. What were the determining factors for creating a true sense of presence in VR?
Throughout this whole process, the Art Team mostly focused on reworking and adapting existing templates and assets, as well as creating shiny, new content to be released with the Meta Quest version of StellarX. Throughout it all, they also faced their fair share of challenges, since mobile VR comes with several performance constraints in comparison to PCVR. 🧐
The biggest one was definitely the reduced maximum object limit inside a single Space. Preserving the essence and general feel of the environment templates while reducing their contents, all while trying to maintain some resemblance to the original versions, was quite a hassle. What enabled us to avoid drastically reducing the number of objects in the environments (thus, making them sad and empty!) was better management of materials and textures. This optimization process was the key to beautiful, thorough, and even upgraded environments for the standalone version.
So, what’s new exactly?
Now, that’s nice and all, but you must be wondering — what new content should you expect to find in this new and upgraded version of StellarX?
Well, for starters, we’ve made plenty of improvements, from the Avatar system to the render pipeline, the in-app onboarding, UX/UI, bug fixes, and more. We’ve also streamlined the app startup flow and the log-in and sign-up processes from within the VR headset. Most work that went into the porting process will, in fact, benefit all platforms; the ultimate goal was to bring StellarX to its highest level of maturity. 🙌
Three brand new templates have been added to all platforms: Monorail, Winterscape, and Heliport.
Then, for now, three of our original templates have been reworked to be made available on Meta Quest: Warehouse, Hangar, and Conference Room, which were renamed Storage Facility, Airdock, and Auditorium. The templates have been improved to be lighter, allowing all StellarX users to have a greater creative scope by adding more objects before reaching their performance limits. The end goal for the entirety of our template library to be made available on Mobile VR eventually; we assure you, we’re working on it!
Additionally, plenty of new objects have been added to the Collections, to provide users with more possibilities when creating their environments. Since StellarX is being used for training and simulation needs in a wide range of industries, we wanted to make sure that we covered all bases and were as versatile as possible! There have been notable additions of animated objects such as a humanoid avatar, a dinosaur, cars, and much more. 🚗
Scheduled to launch very soon, a whole new set of Mixed Reality features will make their way into our next release, leveraging Meta Quest 2 and Pro features such as color passthrough, spatial anchors, and scene understanding. Finally, we are currently working on even more features which are scheduled to release at the end of June, such as multi-user Create Mode and the importation hub, which will enable anyone to easily bring in their own assets and resources to the app, regardless of their hardware of choice. That release will also leverage exclusive Meta Quest Pro features such as eye tracking, and make use of AI-driven speech and intent recognition (NLU) to ease the creation process.
Let us stress that the core technology remains the same in both versions of StellarX, and that there are no key differences in features between the PCVR version and the standalone version of the software. Except for the upcoming Mixed Reality and eye tracking features, that will be exclusive to Meta Quest hardware, new content, as well as improvements, are and will be accessible for PCVR and Meta Quest users alike. We also made sure that the broader user experience was well matched across both versions by integrating new content, flow, and usability improvements into our PCVR version. As always, accessibility and democratization is at the core of what we do; and, we want all versions of our app to reflect that!
Collaboration & synergy
While every team might have faced individual challenges during the port process, one of the key aspects to the success of this project was general collaboration. In the span of 12 months, the teams held a variety of meeting sessions, both outside and inside VR. César, Lead UX/UI Designer, states:
“ [VR brainstorming sessions] were some of the most fun we’ve had over the course of this project. And [for the design team specifically], because we are fully remote (with members in 3 different cities), it was also the first time some of our teammates were able to be in the “presence” of others, within the same virtual conference room! Truly fascinating. It made us bond more as a team, in my opinion. ”
More broadly, this project gave our teams the opportunity to achieve cross-functional synergy by focusing on specific features, together. For example, through close collaboration with the R&D and Design teams, the Dev team was able to streamline and tackle all their performance and accessibility priorities while maintaining a steady flow of development for new features and fixing bugs. Communication, prioritization, and close collaboration was essential to prevent the dreaded crunch time. In turn, while working on the importation hub, the Design team had to conduct user interviews and extensive research over the course of 6 months, during which they were constantly touching base with the development and R&D teams, and pacing out the deliverables.
Overall, the team is very proud of having been able to carry such a humongous project in just a year; and, might we add, in a healthy way for the team. 💪 Boris, Lead 3D Artist, emphasizes:
“ The teamwork throughout the process has been truly inspiring and motivating, pushing us all to give our best to achieve the most complete product possible. The fact that the optimizations made have allowed us to retain most of our environments has been extremely gratifying. ”
Now that StellarX has become a standalone app, we can’t help but wonder what the future holds for us.
We think that, for the most part, it can be summed up in two words: user feedback. We are super excited to learn more about the experience of our users while creating and playing in StellarX. What do they love about the app? What would they like to improve? Axel, Lead Developer, states:
“ The launch of StellarX on a new platform will allow us to reach new people, and we’re eager to hear what they have to say. One of the great opportunities we will have is to fully integrate user’s feedback to our roadmap to help us plan for future features, and target what will be most useful for our creators and players out there. ”
We are tuned in, and eager to listen to your stories in order to keep working on an app that’s designed for you. If you have any insight, don’t hesitate to drop us a line via our website, or to come chat with the team on our Discord server! We’re all ears. 👂
In a much larger sense, this porting process is also a perfect opportunity for us to experiment and further develop both Mixed Reality and AI features, so as to make our platform a multimodal Extended Reality experience where humans and AI agents can actually co-create together, in the most seamless way possible. So, gather round, and here’s to the future! 🍹
To read more about the features and improvements that were included in this release, check out this article, or the software release notes!
This article was put together with the precious collaboration of some of our team’s leadership: Pierre-Luc Lapointe, XR Design and R&D Director; César Lozano, Lead UX/UI Designer; Axel Berneron, Lead Developer; and Boris Imare, Lead 3D Artist.
Nous sommes une entreprise fièrement québécoise. Pour lire cet article en français, c’est par ici!