Unity vs Unreal for VR/AR! Which Engine Should You Choose? (2024)

XR Resources

By

XR Bootcamp

May 6, 2022

XUnity vs Unreal for VR/AR! Which Engine Should You Choose? (2)

Unity vs Unreal - how to decide which engine to use in your next XR project

Selecting the right game engine is a key business decision that must not be glossed over. You need to research the game engine and why it fits your project better, and not blindly select it.

Although a game engine is a tool and the outcome depends on the developer, the right choice will significantly affect the outcome of your project and the time you (and your team) spend working on it.

In this article, we will explore in-depth key information you need to know about two of the top game engines out there: Unity, and Unreal Engine. Many questions, is Unity easier than Unreal? Is Unity or Unreal better for Beginners? will be answered.

Let the battle begin!

Why Compare Unity vs Unreal?

Unity and Unreal are currently the leading RT3D (Real-Time 3D) engines for games, cinematography, industrial simulation, XR, and other app development.

We will provide a comparison between both engines to help you choose between one or the other. First, let’s check some of the most popular games made with each!

Popular non XR Games made with Unity

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (3)

Other popular games made with Unity:

  • Call of Duty mobile,
  • Pokemon Go,
  • Escape from Tarkov,
  • Rust,
  • Hearthstone,
  • Ori And The Blind Forest,
  • Pillars Of Eternity.

Popular non XR Games made with Unreal

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (4)

Other popular games made with Unreal:

  • Seshua’s Saga: Hellblade II,
  • II, Dragon Quest XII: The Flames of Fate,
  • Dreamhouse: The Game,
  • eFootball PES 2022,
  • Gears of War,
  • Mortal Online 2.

Popular VR Games and Social Platforms made with Unity

Oculus is the current leading platform for VR gaming, which generated 2.2 billion in revenue in 2021, compared to $1.1 billion in 2020.

This is driven by the most popular headset for VR gaming, the Meta Quest 2, which is a standalone headset (untethered from a gaming PC), running in android, with limited rendering capabilities which are similar to mobile. This is one of the reasons why we see that around 70% of the games on this platform are made by Unity.

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (5)

Other popular VR games made with Unity:

  • Superhot,
  • Pistol Whip,
  • Zenith MMO,
  • Population One,
  • Beat Saber,
  • Onward,
  • Altspace,
  • Spatial, R
  • ec Room.

Popular VR Games and Social Platforms made with Unreal

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (6)

Other popular VR games made with Unreal:

  • Moss,
  • Dance Central,
  • Lacernauts,
  • Red Matter.

Now, let's dig into the technical characteristics of each engine.

Technical Comparison - Unreal vs Unity

These Real-Time 3D engines include built-in and external packages for scripting (code and no-code), rendering (2D, 3D, XR), physics, sound, networking, animation, multiplayer, etc. However, just because they provide a solution for each category, does not mean these solutions are equal. Let’s look more closely.

Application Logic (Scripting) - Unity vs Unreal

Text-based scripting - Unity vs Unreal

Both engines are to be programmed with specific scripting languages:

Unity:

C# is used inside the editor and with external applications. C# is friendlier with a faster learning process than C++. Also, C# is well suited for common use and software architecture implementation at scale which requires maintenance when the app grows.

Unreal:

C++ in Unreal complements the Blueprint tool, but does not replace it. While you can produce an entire project in Unity with C#, the same is impractical to achieve in Unreal with C++. C++ also allows you to implement software architecture, but it’s harder to learn and use than C#, and the implementation of C++ in Unreal relies heavily on Unreal-specific code that does not translate to general C++ usage.

Visual scripting - Unreal vs Unity

This is ideal for designers or developers who don’t want to dig into a programming language. Instead, they prefer to use a visual mode to program the objects in the editor.

Unity: Visual scripting package (previously known as Bolt)

It is a node based logic-engine, you can implement behaviors for game objects in the editor, and it’s almost fully compatible with C#. Unity’s scripting documentation is C# centric, making Unity visual scripting slower to learn than C# for individuals with no scripting experience. If you learn C# scripting, visual scripting will come easily. Extending the available visual scripting nodes requires no special skills.

Unreal: Blueprint

It’s the primary way to assemble game logic in Unreal, especially for beginners. With C++ providing anything that cannot be accomplished by Blueprint. Unreal’s scripting documentation is Blueprint-centric, making it faster to learn for individuals with no scripting experience. Learning how to use Blueprint does not translate directly to C++ scripting, which requires additional training and education. Extending the blueprint nodes requires key C++ library knowledge built upon a series of engine-specific macros that extend blueprints through plugins or editor-module compilation.

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (8)

Blueprint. Source: Unreal

Rendering - Unity vs Unreal

As the leaders they are, both engines provide excellent quality and speed for real-time rendering. Unreal gives you high fidelity graphics out of the box, whilst in Unity you need to configure the render pipeline to match such graphics.

This has a two-way effect, if you are building for mobile with Unreal you would need to strip down the graphics for mobile optimisation, and the opposite in Unity.
In XR development, the need for optimization often outweighs the possibility to include higher fidelity graphics, so the Unity default setup is often more suited.

Unity:

Unity’s render system is more modular than Unreal’s. It provides both a visual node-based editor, Shader Graph, and the ability to write shader code directly with high-level shader language (HLSL). HLSL code can be daunting, but it lends the experienced developer a greater degree of control over the rendering process with fewer layers of abstraction in between. The greatest downside to Unity’s method of rendering is that it is not well suited to convert between the high definition and universal render pipelines. Once one is chosen, switching to another can be time-consuming. Post-processing–effects like bloom, anti-aliasing, and color grading–are extendable with core presets that cover most use cases.

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (9)

Unity’s shader graph examples Source: Unity

Unreal:

In Unreal, the ability to write complete HLSL is not provided in the engine directly, instead, a node-based material editor enables a vast range of customization with fewer technical hurdles. There is some limited access to HLSL shader code through custom nodes, but otherwise Unreal shaders must be added at a source code outside of the engine. Post-processing in Unreal is also extendable with a greater series of choices for each effect than what Unity provides out of the box.

Real-time Cinematic Rendering - Unreal vs Unity

Although Unreal has been a market leader in real-time rendering, from architectural visualization to advanced VFX and motion capture in movies, Unity high definition render pipeline (HDRP) has been used for advanced automotive visualization. At the GDC 2022, Unity showcased “Enemies”, a Real-Time cinematic trailer in which the viewer can watch a female model's face including eyes and iris movement, mouth skin and movement, hair, small hair, and other very hard to render details with such a high level of fidelity that it is tremendously difficult to be aware of it’s real or not.

VFX - Unity and Unreal Comparison

Realtime VFX can be accomplished in a myriad of ways: a common solution in both Unity and Unreal is to use simple animated planes with custom materials for VFX. The vertex shader aligns the planes with the camera, and the bone animation and fragment shaders do the heavy lifting. This can save on draw calls compared to expensive CPU particle systems, but it does not allow reactive procedural effects. For those, both Unity and Unreal provide VFX-specific tools to generate millions of GPU-based particles.

Unity: Visual Effect (VFX) Graph

As the name implies, the Visual Effect Graph allows for visual-scripting with nodes and blocks to spawn, manipulate, and drive parameters for particles. The editor itself is reminiscent of Unity's Shader Graph. This is undeniably a powerful system, but it is not possible to utilize it on all platforms: The Universal Render Pipeline, which is suitable for mobile devices, only supports some features of the Visual Effect Graph, and cannot render particles with lighting derived from the scene.

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (10)

Unity’s shader graph examples Source: Unity

Unreal: Niagara

Niagara is also a visual-based editor, but it does not resemble either Blueprint or the material editor quite as closely as Unity's Visual Effect Graph resembles its Shader Graph. This means that learning to use the Niagara system may feel entirely foriegn to Unreal developers that have no VFX background. The Niagra system is based on a series of modules that stack on top of one another, manipulating the parameters within each step of the way. Its high level abstraction at the module level means that arbitrary data, such as mesh positions, can be piped into these modules and drive highly interactive effects. The limitations of the system also rear their head on mobile. Specifically, it does not support ES3.1 rendering, and you must instead target Vulkan rendering for Android devices or Metal for iOS devices. This does not take into consideration practical limitations of GPU utilization, which will restrict what is possible further based on how many particles and calculations can be handled without lowering the FPS significantly.

Target platforms - Unreal vs Unity

Both engines allow cross-platform development including Windows, Mac, Linux, Android, iOS, PS, and Xbox, among others.

Unity

Outside of the common platforms, Unity has an advantage in XR: It supports HTML5 web publishing, while Unreal discontinued official support after version 4.24. This makes publishing to WebXR from Unity still potentially viable, unlike Unreal.

Unreal

For XR development, most virtual and augmented reality platforms support Unity better than Unreal, this can be seen in developer toolkit releases. Unreal Engine often gets these toolkits released months after Unity, and the feature supported by Blueprints may be limited.

Creator focused multiplayer XR experiences

A lot of XR multiplayer experiences are made with Unity, from Zenith MMO to population one, VR Chat etc. Whilst, there are currently very few and hard to pick XR multiplayer experiences built with Unreal Engine.

Some reasons why the barrier to entry is high for Unreal compared to Unity for Social VR:

Runtime mesh access.

The reason runtime mesh loading is so important in social games, XR included, is to allow for custom and personalized content, such as creating new environments, avatars, and accessories, that are not pre-packaged within the binaries of the application.

Until recently there have been very few runtime mesh loading features in Unreal. Certainly nothing built in. While the editor has the code to import a variety of assets, including FBX, OBJ, and ABC files, these are editor-only modules and are not licensed to run in standalone games.

Unity's support is more approachable than Unreal's, and Unity has the concept of a Unity Asset Pack, which can load any type of art asset into a compiled Unity game with compatible binaries. Unreal does have DLC and patching functionality, but it is not as robust and certainly not approachable to the layperson. Recent advancements in GLTF runtime loading in Unreal may solve this issue, which is how Ready Player Me avatars now load into Unreal. However, there's still some optimization needed, as the construction of a skeletal mesh at runtime is a single-threaded operation, which can cause jitters or a hang in the rendering thread.

Animation - Unity vs Unreal

Unity

All fundamental real-time animation features are supported by Unity. Armature based animation, vertex animation, state machines, and sequences provide the necessary building blocks to construct complex animation systems.

Unreal

Although both provide animation engines inside the editor, Unreal has proven that its animation quality and tools are more mature. Recent additions include a scriptable rigging system, Control Rig, that places more control in the engine without the need for separate 3D authoring software, as well as live-link take recording, to capture and save real-time performances on characters from a variety of tracking systems.

Support - Unity vs Unreal

Both options provide excellent support for developers. However, Unity has a bigger community than the Unreal engine, this may be due to the beginner-friendly nature of the engine. This implies that if you are stuck during development, you have a higher chance of finding a Unity solution than an Unreal solution.

Assetstore/Marketplace for Plugins and Extensions

Unity comes with fewer built-in features, but has a larger marketplace for plugins and extensions, allowing for added functionality at a range of prices. Unreal makes up for this with a wide variety of built-in features, with a somewhat smaller plugin marketplace.

You can find an extensive variety of assets in these marketplaces: 3D models, environments, sounds, shaders, tools, templates, etc.

Unreal Marketplace

Unity Asset Store

Subscription Cost - Unity vs Unreal

Besides the Personal (no fees) plan, Unity has paid plans in accordance with the company’s revenue in the last 12 months, starting at US $ 399 per year/seat (user). No royalty fee. More info: Unity Engine plans pricing

On the other hand, Unreal has a Standard License (no fees) plan, an Enterprise program at US $ 1500 per year/seat, and a royalty fee when certain terms are met. More info: Unreal Engine licensing options

Which engine do developers prefer? Unity vs Unreal

Unity is preferred by around 62% of the game developers:

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (11)

From 71,828 people interviewed last year by Stack Overflow:

  • 12,793 showed interest in working with Unity in the near future.
  • 5,154 showed interest in working with Unreal in the near future

Comparison Table - Unity vs Unreal

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (12)

Feature/Criteria

Unity

Unreal

Visual Scripting

Unity visual scripting (formerly Bolt). Complements C# scripting, but with less documentation. Easily extendable.

Blueprint. The focus of scripting documentation. Powerful, but siloed from C++ scripting. More challenging to extend.

XR Integrations

Native Virtual Collaboration Tools (Source Control)

Photogrammetry

Documented external pipeline

RealityScan (coming soon)

Asset Management Pipeline

Original Asset + Metadata file. You’ll still need to export from your authoring platform of choice, but there’s one less step to worry about when transferring assets, within the engine.

Asset converted to Unreal-specific format during import. This eliminates the need for a separate metadata file, but if an asset becomes corrupt, or is moved outside of its correct location, then it may be hard to recover. In addition, the linking system for assets is highly dependent. You must understand file-redirectors fully if you are going to frequently move or rename assets and folders.

Source Code Access

Read-only access to engine source.

Read/write access to engine source (after compiling from GitHub repo).

Rendering Capabilities

Efficient/moderate quality by default. High quality is attainable with greater effort.

High quality by default. Performance may suffer for mobile devices without optimization

Animation Framework

State-machines, timelines/sequences, script-based animation. With enough time and effort, just about any feature visible to the end player/viewer of an Unreal product can see the same results produced with Unity. The limiting factor is the time it takes to reach these end results due to the requirement to build animation systems up from scratch.

State-machines, timelines/sequences, script-based animations, animation post-processing, in-engine rigging, live-link. The Blueprint a unique derivative: the Animation Blueprint. The ability to rapidly composite animations does not necessarily extend the functionality far beyond what Unity can provide, but it does provide a faster pipeline.

Shaders and Materials

HLSL, and Visual Material Scripting. Requires greater understanding of Shader programming.

Visual Material Scripting. Requires less understanding of Shader programming.

Networking Framework

Some built-in support, but mostly third party plugins are used, like Photon, Normcore or Mirror

Built-in support out of the box is very good and battle tested in games as Fortnite

WebXR

HTML5 build supported

Not Supported

Performance

Smaller distributions by default. less complex render pipelines result in fewer performance bottlenecks.

Larger distributions by default. Performance may suffer if the wrong features are left enabled for less capable hardware.

Documentation

More comprehensive

More fragmented. Not all systems are documented in a central repository

Support

Unity has a large community of developers, if you are stuck it is easy to find someone with a similar problem

Unreal has a smaller community, if you are not an experienced developer it is easy to be stuck when developing

License Costs

Start without fees, $ 399 per year/user for studios. No royalties

Start without fees, 5% royalties for off-the-shelf products that exceed $1M gross profit over the lifetime of the product

Target Industries

Cross-platform gaming, entertainment, education, Gaming, virtual production, arch viz, digital twinning

Gaming, industrial engineering, medical device, and pharmaceuticals

Learning Curve

More accessible for programmers. Unity has fewer bells and whistles by default, which enables learning fundamentals without being faced with challenging complex systems.

More accessible for artists. The wide range of systems, plugins, and tools make advanced work faster, but learning these systems will take longer.

Cross-Platform Deployment

Unity has wider cross-platform support, and with the URP pipeline, it is easy to deploy across multiple platforms without overhauling your projects

Unreal has cross-platform deployment, but it requires more manual setup and application compilation knowledge

* Engine compilation required

** External download

Some hot takes!

There are two kinds of people that will read this article, those that are trying to decide which engine to invest their time in, and those that have already made their choice and want someone to agree with them. I’m sure to disappoint at least a quarter of you by that metric, but here goes!

Unity is the reigning champion in XR development.

Unreal is a legitimate choice for XR development--no one would write an article comparing the two if that was up for dispute--but if you’re basing your choice on the quickest way to produce high quality XR content, then

Unity wins outright.

The vast majority of studios hiring XR developers already use Unity, and in the indie-developer space there’s a much larger community of XR developers and programmers to support existing and growing teams. To prove this point, take one of the most popular emerging markets in XR: social platforms on standalone VR headsets. (The rising popularity closely relates to the most frequent talking point of 2022: the Metaverse.) There’s more competition between Unity and custom-engine programming right now than there is between Unity and Unreal. There are a variety of reasons why this is the case, but let’s call out just two:

  • XR platform features and extensions are almost invariably released to the Unity game engine prior to Unreal, such as the original Oculus Quest hand tracking feature. Sure, Unreal also receives these sorts of features, but you’ll have to wait a few months and when they do come to Unreal they’ll often be C++ APIs long before someone exposes them to Blueprint.
  • Unity could be described as a developer-first game engine. Contrast that to Unreal which could be considered an artist-first game engine. Historically Unity has provided documentation, and workflows that cater to programming, scripting, and game logic. Unreal can be great for visual scripting with Blueprints (that’s how I fell in love with the engine coming from my art background), but the leap to C++ is a significant one and Blueprints will only prepare you to understand the concepts, not the syntax of the language.

Where Unreal really shines is in the rich new graphical features that are continually brought to the engine, first in UE4 and now in UE5. Examine the development roadmap here. Unity is working to catch up with Unreal in this sector, such as their recent acquisition of Weta Digital. However, the most exciting features Unreal added all have one thing in common: they’re not suitable for standalone XR devices.

  • Nanite – allowing non-skeletal objects to render on screen with billions of tris.
  • Lumen – Hyper realistic real-time global illumination.
  • Metahumans – Unreal (hah) levels of detail without expensive digitization and rigging.
  • Realtime Raytracing – lights and reflections simulating from all surfaces on and off screen.

These are exciting, these are fun... and these are not going to work on a Snapdragon XR2 chipset without some significant modifications/optimizations. There’s potential here for cloud-streaming XR content for standalone headsets, but no one’s quite cracked that nut yet.

This brings us to our final critique of Unreal for XR development: You’ll need to significantly reign in your art-team (or your inner artist) to meet performance requirements. If you give someone $100 dollars and ask them to buy all the essentials from a grocery store, that’s one thing. If you ask the same person to spend that $100 at the grocery store or at the Michelin restaurant across the street, they’re going to exceed their budget far more quickly. What can I say? Sometimes that duck confit is too delicious to resist when paired with a side of lumen-based global illumination.

So there you have it. There are some clear and present challenges in adopting Unreal as your platform of choice for XR. This begs the question, why have some of us personally chosen Unreal over Unity for XR development? The answer is straightforward: once you overcome the learning curve for either engine, they’re both capable of delivering exceptional high quality XR content.

We’re also beginning to see a shift in the demographics that use Unreal: As people are lured in by the AAA visuals, they’re finding more ways to extend the engine for use in XR, especially as XR hardware improves; thus driving increased support, documentation, and features in Unreal. Unity continues to dominate the space, but that may change if they are unable to match Unreal’s growth rate in the market.

Conclusion and Recommendations

Our recommendations for you to choose between Unreal and Unity.

  • If you are an XR Unity developer considering switching to Unreal. I do not recommend the switch. Only do so to explore how you enjoy Unreal engine, or as a safety precaution in case Unreal overpowers Unity’s control in the market.
  • If you are an XR Unreal developer considering switching to Unity. I do not recommend the switch. You’ve probably overcome the majority of the challenges of Unreal development for XR. Only switch if your specific project specifically requires a feature not available in Unreal.
  • If you are a programmer with no game engine experience, choose Unity. You’ll find the learning curve has a shallower slope.
  • If you are an artist with no game engine experience, choose Unreal. You will fall in love with the capabilities of Unreal but be prepared to swallow the bitter pill that there are technical limitations in XR.
  • If you have neither programming nor art experience, choose Unity. You will learn it more quickly and can always experiment with other engines after establishing a strong foundation.
  • If you need to produce a mobile/standalone game or app, with some distribution to XR, choose Unity.
  • If you need to produce a AAA game, with some distribution to XR, choose Unreal.

Access this collective and industry-wide effort to compare Unity and Unreal

Thanks to the XR Bootcamp mentors and team for writing this guideline!

  • Lucas Martinic, VR Prototyper, Asset Creator & Mentor at XR Bootcamp
  • Hammed Arowosegbe, Senior Software Engineer, XR at Vault Hill, Chapter President Nigeria, The VRARA
  • Ian Berget, Co-founder, and CTO of Launchvox Inc
  • Hernando Nieto Jaramillo, Unity 3D VR developer, PortalSense

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (13)

© 2021 XR BOOTCAMP. All Rights Reserved

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.

Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.

Necessary

Always Enabled

Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.

CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.

Functional

Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.

Performance

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Analytics

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.

Advertisem*nt

Advertisem*nt cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.

Others

Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.

Unity vs Unreal for VR/AR! Which Engine Should You Choose? (2024)

References

Top Articles
Latest Posts
Article information

Author: Jamar Nader

Last Updated:

Views: 6189

Rating: 4.4 / 5 (75 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Jamar Nader

Birthday: 1995-02-28

Address: Apt. 536 6162 Reichel Greens, Port Zackaryside, CT 22682-9804

Phone: +9958384818317

Job: IT Representative

Hobby: Scrapbooking, Hiking, Hunting, Kite flying, Blacksmithing, Video gaming, Foraging

Introduction: My name is Jamar Nader, I am a fine, shiny, colorful, bright, nice, perfect, curious person who loves writing and wants to share my knowledge and understanding with you.