Getting Started with XR: A Guide to XR Development
A Beginner Friendly Guide to XR Development in 2024
Are you curious about XR technology? Do you want to create your own immersive games or applications but don’t know where to begin? You’ve come to the right place!
At Breach, we use a mix of technology and hardware platforms — most notably, the Unity and Unreal Engines, the Meta Quest platforms, and PCVR (Valve Index, Varjo). This guide will walk you through everything you need to know to get started with XR development, comparing the key engines, platforms, and tools you'll be working with.
Oh and if your confused about the difference between XR, VR, AR, MR, and spatial computing make sure to check out our blog breaking those down!
Choosing the Right Engine: Unity vs. Unreal
Unity and Unreal are capable engines with strengths and weaknesses, so we use each for different projects. Let’s start by looking at the engines’ differences and similarities. Make sure to check out the recent announcements of Unreal Engine 5.5 and Unity 6 to see what’s coming to both engines!
Visual Fidelity
Both Unity and Unreal have strong visual capabilities, though Unreal has traditionally been known for its high visual quality "out of the box." However, Unity’s High Definition Render Pipeline (HDRP) has narrowed the gap significantly, allowing developers to create stunning visuals.
In our work on the Cupra Exponential Experience, we used Unity HDRP and the Varjo XR-1 to create a visually stunning experience. Today, the primary distinguishing factor for “High Fidelity” is the hardware it runs on and the team behind it, not the Engine.
Unreal has some capabilities that Unity lacks, notably Nanite, Lumen, and the recently revealed Megalights. While both engines are capable of achieving high fidelity, Unreal Engine is best if your looking for out of the box solutions.
Code and Scripting
Your choice of engine may depend largely on your familiarity with coding languages:
Unity uses C# as its primary scripting language.
Unreal supports both C++ and Blueprints, a powerful visual scripting system perfect for those without a coding background.
If you’re proficient in C#, Unity may be the easier choice, whereas C++ wizards will feel more at home with Unreal. For non-coders, Unreal’s Blueprints system offers a gentler learning curve, though Unity also has visual scripting solutions available on its Asset Store, such as Playmaker.
Cost
For most indie developers, both engines are free to get started:
Unity is free for individuals and businesses making less than $200K annually, with a subscription model above that.
Unreal charges no royalties until your game generates over $1M in revenue, after which a percentage is owed.
Both engines have very recently updated their pricing models as well:
Unity canceled their controversial Runtime Fee
Game’s built with Unreal Engine and published on the Epic Games Store, have shifted from a royalty rate of 5% to 3.5%.
If you’re working on non-gaming projects, both engines charge subscription fees, so it’s worth checking Unity's pricing and Unreal’s licensing terms before making your choice.
Community and Assets
Both Unity and Unreal have thriving communities filled with learning resources, tutorials, and assets available for purchase. Unity’s Asset Store and Unreal’s Marketplace offer extensive libraries that can speed up development, especially during prototyping.
Later this month (October 2024), Epic is launching it’s new marketplace FAB that combines Quixel, Sketchfab, Unreal Engine Marketplace and the ArtStation Marketplace in one place. FAB will have both Unreal Engine and Unity assets.
Tools and XR Support
Both engines support OpenXR and offer strong SDKs for platform-specific XR development. However, Unity currently leads with better integration of Meta’s newest SDKs, making it the more flexible choice for those working on Meta Quest devices. Unreal is catching up, so keep an eye on updates.
Exploring Alternative Engines: Godot
If you're interested in a free and open-source option, consider Godot. While it’s not yet as feature-rich as Unity or Unreal, it’s gaining traction, especially with its growing support for OpenXR. Though not ideal for production-level XR development today, it’s worth watching for future projects.
Which engine should you choose for XR Development?
While it’s not the most exciting of answers, it depends. In the end choosing the right engine comes down to preferences. Programming language might be the determining factor if you are already familiar with C# (Unity) or C++ (Unreal). Unity might be the best choice if you are developing for Meta Quest and rely on cutting-edge SDK features.
That said, the essential learning comes from making something in XR, not from the Engine choice. The important thing is to get started. Choose one, get started, and explore other engines in the next project!
XR Platforms: Tethered vs. Standalone
When developing for XR, you'll encounter two main types of platforms: Tethered (PC or Console-powered) and Standalone (devices that work independently). Most Standalone devices can be tethered as an option. Here’s a breakdown of each.
Standalone Devices
Standalone headsets, such as the Meta Quest 3, PICO 4, and recently revealed Meta Quest 3S run on Android-based Snapdragon chipsets and are popular due to their ease of use. Apple has also entered the field with the Apple Vision Pro, which introduces eye-tracking-based interactions and higher visual fidelity, marking a shift towards “prosumer” devices.
For projects prioritizing accessibility and ease of use, Standalone devices are ideal. For example, in our Reality Training experience, the standalone Meta Quest allowed firefighters to jump into training sessions with minimal setup.
Tethered Devices
Tethered devices offer superior performance, as they are powered by external hardware. The Meta Quest 3 doubles as the most popular tethered device when connected to a PC. The most common use case for this are VR gamers using PCVR for improved graphics and performance. Other notable tethered devices include the Valve Index and Bigscreen Beyond for PC, and PlayStation VR for PS5.
For professional use, high-end tethered devices like the Varjo XR-4 provide unmatched visual fidelity but come at a higher cost. For consumer developers, Meta Quest 3 offers versatility, while Varjo and Bigscreen Beyond push the envelope in visual quality.
Visual fidelity and performance were the most important factors when we worked on the Cupra Exponential Experience, so using a Varjo XR-1 and a high-end PC was more than worth it to push the envelope.
Getting Started with XR Development
Meta Quest + Unity: A Great Starting Point
For beginners, starting with Meta Quest development in Unity is a great choice. Meta’s robust XR tools and the Unity ecosystem make it easy to jump in. Even without a headset, you can begin development using Meta’s XR Simulator to iterate quickly.
Building Blocks
Meta has made development even easier with “Building Blocks,” which allow you to drag-and-drop XR interactions such as pass-through, grab interactions, and more into your Unity project. Get started with the Meta Building Blocks here.
XR Simulator
By using Meta's XR Simulator, you can start development without a headset. It allows you to quickly iterate by simulating a headset in a virtual environment. It won’t replace testing in an actual headset, but it does make iteration loops quicker by skipping the donning-and-doffing headset part of development.
Unreal Engine: Dive into VR Projects
If you prefer Unreal Engine, you can start by downloading the Engine from here and use Unreal’s VR Template to set up your first project. Unreal’s documentation offers detailed guidance for XR development: Developing XR Experiences in Unreal.
Join the Community
Whether you're building your XR project in Unity or Unreal, we encourage you to share your work with us in the Breach Discord! If you need some inspiration check out our previous projects as well as the free projects from our PIT initiative.
Breach
Making your own XR project is an exciting endeavor, but if you have an idea for a VR project we are happy to help turn your wildest ideas into reality! Head over to breachvr.com and shoot us a message!