Unity MARS

Sindhu Rathod
XRPractices
Published in
6 min readJul 8, 2020

Building an application that is aware of its context and physical space is a challenging task to an AR Developer or a game developer. There are also other challenges like testing and managing the variables that change the state of game/application. Developers are left to manage these variables by defining states or by other programming ways.

Let's try to understand these challenges in detail and then go for Unity Mars and then understand how is it different from Unity all together.

AR/Game Developer Challenges :

  1. Testing is so important for these applications because they play with real-world data which comes dynamically most of the time. We need a physical device like mobile/tab /HMD to make sure everything that is developed works as expected, which at times is also time-consuming.
  2. The challenges faced by the developers are also multi-fold when they are developing data-oriented apps. Data-oriented apps need to play with a lot of variables that would parallelly affect the behavior of your application.
  3. Most agents/objects play around with data or get played by the data that a developer gave and is dumb about the environment in which it is placed in.

Addressing these very challenges from both game and AR front, Unity launches Unity Mars first-of-its-kind, a tool which can understand its context and its environment and first of its kind.

Using Unity Mars, creators can author complex, data-oriented apps visually, test their experiences without leaving the MARS authoring environment, and deliver apps that are contextually aware, flexible, and truly interact with the real world.

What is Unity Mars :

Unity MARS is a mixed augmented reality(AR) authoring studio with specialized tools and workflow for creating intelligent AR experiences.

Environment + sensor data = Intelligent AR ~ Unity MARS

It provides augmented reality (AR) creators everywhere with specialized tools and a streamlined workflow to deliver responsive, location-aware AR experiences into users’ hands. Regarding tools and workflow, we have a detailed blog addressing these.

Unity Mars Experiences are powerful, interactive, and intelligent. Experiences created with Unity MARS are fully responsive to surrounding physical space, work in any location, and with any kind of data, while giving creators the ability to deliver AR experiences that live up to the end user’s expectations: digital content that seems to live in and react to the real world.

Unity MARS understands your World

Usecases :

Unity Mars extends its wings beyond unity into MR and the Internet of things.

Industrial: Tutorials, onsite overlays, guided support Using HMD visually and learning with the process.

Mixed Reality: Flexible applications for preview, purchase, and showcases thereby providing an immerse feel of seeing things through and analyzing them for judgment ex: shopping.

Connected Devices: Control hardware or extend existing software in mixed reality, distributed computing and the Internet of Things(IoT)

Unity Mars has wonderful features and special tools in the editor which can make the development of application a cakewalk. The editor of Mars is very similar to the Unity Editor. One who knows Unity can easily relate to things like scene, hierarchy game objects, etc. The utility is also the same as Unity but Mars comes with extra MARS effects like Mars Panel, simulation, etc to provide these features.

If you are a complete newbie to Unity and wondering how in actual unity editor looks, I suggest you to take take a look at Unity Editor. Intentionally, the basic views of Unity editor which are also on Mars will not be addressed in this blog. This is how the editor looks :

What’s Similar?

  1. Scene View
  2. Game View
  3. Hierarchy
  4. Basic concepts of AR and Referring to components in AR space like game objects, Mesh, raycast, etc

What’s New?

Mars Panel: let's talk about this panel, in particular, it includes basic objects to improvised attributes that would make development a lot easier.

Presets :

These are referred to as mini templates of Mars. It includes basic planes to kick-start the development and makes it a lot smoother. Commonly used Mars objects are the vertical plane, horizontal plane, image marker & Face mask

Primitives :

These are the base unit of mars. All the presets above like vertical/horizontal planes are built from primitives. Few primitives are Proxy Object and Proxy a group

Visualizers :

Visualizers help to see your raw data. How the data and the app is doing and how it can further be debugged.

Simulation :

It controls the simulation view, be it be videos, scene, or recording whatever you wanted to simulate can be seen in simulation view. You can also visually simulate different parts of the 3D object and analyze how it works in an actual scenario.

The simulation view is extensible and flexible. Instead of deploying the application to the actual device, we can actually simulate the behavior of the application in this view itself.

When we say simulations, let's spend a moment here to understand how Mars is doing plane detection and how it is able to understand its environment intelligently.

When we simulate a plane by placing some object on it, we simulate an object or any game object in between in HMD / mobile device, implementing raycast on the world. We then find the plane detection algorithm inside the editor. It gives us a sense of how the content /application would perform on a given plane.

But Mars plane detection is not up to the mark, it cants detect the rough areas where data can’t be fed or analyzed. Mars also officially supports face tracking, image markers, plane finding.

Key Benefits :

WYSIWYG authoring experience

Author complex, data-oriented apps visually with a customized window Mars Panel for AR creators that includes tools and UI that give you the power to see, prototype, test, and visualize robust AR apps as they will run in the real world.

Responsive visual authoring

The procedural authoring system uses proxies to represent real-world objects, conditions, and actions as a framework. Creating proxies is similar to creating every other game object, but it comes with actions and conditions by default by analyzing the environment. “Proxy for an object; object can be anything “

Test in the Unity Editor

Test your AR experiences using a simulation view against a variety of examples of indoor and outdoor spaces without needing real-world data on hand or physically testing the experience in every real-world environment you want your app to work in.

Fuzzy authoring

Mars allows its objects with minimum and maximum variables where an object can fall/sit on too. Gizmos are used to define the minimum and maximum measurements for real-world objects rather than coding precise measurements.

These are the additional features from Mars and how one can achieve them. Excited !!! Well, You can get started with Mars, it already has basic templates and tutorials explaining how to do.

Next up, we will get started with Mars Editor and set up a few proxies for objects and simulate it without any physical device. Stay tuned!

--

--

Sindhu Rathod
XRPractices

ThoughtWorker! Introverts soul trapped in extroverts body.