docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Unity MARS Overview

    Introduction

    Unity MARS is a Unity extension that adds new functionality to support augmented and mixed reality content creation.

    Augmented Reality has revealed that the tools we use to author 3D content are just a piece of a larger puzzle. The canvas has morphed from being a strictly controlled and known digital environment to one intertwined with the real world. Content authored for this new medium is not consumed in isolation anymore. Instead, it has to be reactive and work with the world and other apps in ways never required before.

    MARS is a Unity extension and a set of companion apps that provide the ability to address real-world objects and events as GameObjects. It comes with a new UI and controls for this dynamic content. MARS includes an entirely new Simulation mode which lets you test your content in different real-world mockups with an incredibly tight iteration time, and helps you author content in the context of a real-world environment.

    Most importantly, Unity MARS responds to real-world and other AR content by default. Reality is your build target. Think big, design to match, and start making content to change the world!

    In the building to a device with Unity MARS section, you can find a step-by-step tutorial that will guide you through how to install the Unity MARS package and build to your device.

    Getting started is a guide for new users. It takes you through how to write a small but complete application that reacts to the environment.

    This documentation contains the following in-depth guides for each section of Unity MARS:

    • Unity MARS UI overview - Overview of the different MARS windows.
    • Overview of core Unity MARS concepts - Commonly used terms and concepts across MARS.
    • Working with Unity MARS: Choose one approach or the other (Manual workflow/Rules); either of them will achieve the same goal.
      • Manual workflow - Basic workflows for creating AR apps with MARS.
      • Rules workflow - Use plain-language description of the expected real world environment and AR content to describe your app. Great starting point for new users.
      • MARS Templates - Pre-built scenes that contain various specific applications
    • Basic app creation:
      • Basic face tracking - Tracking faces in MARS and attaching virtual objects to face features.
      • Body tracking - Track bodies and follow poses or attach accessories to tracked bodies.
      • Image marker tracking - Creating and working with images and tracking them.
      • Forces for tuning alignment - Creating and working with Forces to configure alignment regions and spatial orientations.
    • Unity MARS Simulation:
      • Creating Simulation environments - Set up custom synthetic environments and recordings to quickly preview how your content behaves with found surfaces and other world data, using environments that are relevant to your project.
      • Session Recordings - Record data from real and simulated MR sessions for later testing on your MARS app.
    • Developer topics:
      • Landmarks - Working with spatial data such as points, edges, polygons that break data from the real world into useful parts for anchoring or aligning virtual content.
      • Traits - Pieces of data that represent how information is stored and how conditions, actions, and providers manipulate them inside MARS.
      • Priority - Specifying the relative importance of different parts of your Scene's content.
      • Software development guide - Writing your own custom behaviors and extending MARS.

    For a list of new features and deprecations, see the Unity MARS Changelog.

    The FAQ answers many common questions about design, implementation, and use of Unity MARS.

    To quickly understand the terminology used across this documentation, see the Glossary for definitions of common keywords.

    Requirements

    The current version of Unity MARS is compatible with the following versions of the Unity Editor:

    • 2019.4.15f1 or later
    • Unity MARS uses the .NET 4.x Equivalent runtime and is incompatible with the legacy scripting runtime.

    Known limitations

    Unity MARS version 1.4.0 includes the following known limitations:

    • Compile errors related to IModuleBuildCallbacks, NewSceneSetup, or other missing references to the UnityEditor assembly can occur when compiling MARS when the scripting API updater modifies code during Player builds. You can generally work around this issue by clicking Build a second time, once the API updater has made its modifications. This may occur as a result of adding the latest Universal Render Pipeline package (10.2.2) to your project in Unity 2020.2, which triggers an API upgrade in AR Foundation (4.0.12).

    MARS Components reference guide

    • Conditions
    • Traits
    • Actions
    • Forces
    • Visualizers
    • Synthetic Data
    • Simulation Environment

    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Introduction
    • Requirements
    • Known limitations
    • MARS Components reference guide
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)