Mixed and Augmented Reality Studio (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, 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!
Getting started is a guide for users new to MARS. It takes you through how to write a small but complete MARS program that reacts to the environment.
This documentation contains the following in-depth guides for each section of MARS:
- Mars UI overview - Overview of the different MARS windows.
- Overview of core MARS concepts - Commonly used terms and concepts across MARS.
- Working with MARS - Common workflows for creating AR apps with MARS.
- Basic app creation:
- MARS Simulation:
- Creating Simulation environments - Set up custom synthetic environments and recordings to quickly preview how your content will behave to 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 in MARS 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 - Check this if you need to do something really specific for writing your own custom behaviors or if you want to extend MARS.
You can find a list of new features and deprecations in the MARS Changelog.
The FAQ answers many common questions that have been answered previously about design, implementation, and use of MARS.
Finally, to quickly understand the terminology used across this documentation, the Glossary is the place where common keywords are defined.
The current version of MARS is compatible with the following versions of the Unity Editor:
- 2020.1 alpha - Not fully tested, MARS placement UI missing.
- MARS uses the
.NET 4.x Equivalentruntime and is incompatible with the legacy scripting runtime.