Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on March 30, 2023, between 5 am & 1 pm EST, in the Performance Profiling Dev Blitz Day 2023 - Q&A forum and Discord where you can connect with our teams behind the Memory and CPU Profilers.
    Dismiss Notice

Feedback Honest, if somewhat harsh feedback: MARS isn't ready yet (imo)

Discussion in 'Unity MARS' started by Dirrogate, Mar 5, 2021.

  1. Dirrogate


    Feb 18, 2014
    I say this with utmost respect to the team, because what MARS can achieve is what, as a filmmaker, I've dreamed about the past 8 years. (been with creative use of AR since 2004).

    As a paid product - with no ad hoc subscription option - it's got glaring omissions and shortcomings (imho)
    - No proper documentation from an easy-to-author point of view. Entire sections can't be found; Actions? Conditions?
    - No proper examples: very rudimentary templates with no explanations (eg: navmesh sample)
    - No Video tutorials with a break down of highlevel concepts---> to mid level (what do the each of the MARS subcomponents do - the mouseover tooltips are vague/incomplete)

    Tracking Issues:
    - is not robust as native ARcore or Arfoundation, imo.
    - MARS "forgets" the initial placement of objects in the real world. See this video:

    It's bad enough in the Simulation view, in the real world on a device it's way more chronic- I'm testing on a Samsung Galaxy S8, a 4yr old phone that supports Arcore depth api - so as to maintain some semblance of what general compatibility would be for Android.

    - To make things worse, There's random red errors thrown up in Unity. Being a non-coder it's hard to debug these - and it shouldn't be so frequent, for a paid product. This makes it feel like MARS is yet in beta. (I'd pointed out the Gui errors being thrown up in a previous thread). This video shows it kick in at around 45 seconds:

    - These errors, to a non-tech author/user bring serious doubt to what it might be doing to actual devices (overheating, battery life, endless loop that affects placement of objects? etc.)

    Given the above issues, I'd honestly say, i'll invest another few days to evaluate the benefits of paying for MARS versus doing a project with ARFoundation.
    The lure of MARS is simple for me: Cinematic AR films. Typical scenario:
    User walks around room and a runtime NavMesh gets built for "actors' to walk on.
    Primitive furniture such as table and chair conditions get recognized and if the "actor' walks into such a trigger zone, transitions to sitting down, picking up a book etc.

    I suppose a custom coding project, to understand Camera height/plane height could do simple logic of tagging "floor" . Table, chair, and in looking at MARS I was hoping to accomplish so much more.

    Yet, if the basics of Objects popping in and out of view or worse, if you walk a few steps with the phone, turn around and MARS has "forgotten" where the object was placed... it's hard to justify attempting more moderately involved scenarios for MARS to solve.

    In comparison - Google's AR search results are more robust - Place a tiger in the room, almost instantly locks to the floor, walk around and occlusion is near instant, and no "forgetting" the location even if you walk into another room and back.

    A budget needs to be put into place
    - to create proper documentation (on an emergency basis)
    - Video tutorials (the webinars, as good as they were, were fraught with pacing issues, and non-linear tidbits being touched on but not fully explained.)
    - More templates with video tutorials going with them.

    Hoping this is taken the right way, and is helpful fwiw.
    Kind Regards.
    Last edited: Mar 5, 2021
    tonialatalo likes this.
  2. Jono_Unity


    Unity Technologies

    Apr 5, 2016
    Hi Dirrogate! Thanks very much for this feedback; we really appreciate you taking the time to pull this together. Good news: we're working on all of this :)

    Tracking issues: two parts here:
    - 'Forgetting' placement: Quick fix is to disable 'Follow Match Updates' on your Proxies:

    We are considering setting this to default off, to disable placement changes that you're seeing. The downside is that your content may match to one piece of data, and then as you continue to scan, you find a much better fit for that content, but not reassess the layout with this option off. We're working on improving this behavior in general.

    The other thing you can check out is disabling scanning at a certain point in your app: namely once the user indicates that they're done scanning and want the experience to start now. You can do this using via the script posted by Schoen in: If you put that script on an object in your scene, you can hook into its TogglePaused method through a UnityEvent:
    (in this case this is on a UI Button’s ‘click’ event)

    - Tracking compared to native: we're investigating improvements to tracking. MARS is a number of layers up the stack, so is dependent on the tracking we get from the platform itself, and then also from other SDK layers between them and MARS. We also see that native apps seem to be tracking better than what we're getting in builds. We're investigating now and hope to have an update on this in the 1.4 update.

    Documentation: Updates coming! MARS 1.3, which just came out, includes documentation updates, and we are actively adding additional documentation (and additional tooltips and in-editor help) for Conditions, Actions, etc in upcoming versions (1.3.1 & 1.4).

    Examples: Our Content team is always working to advance our example scenes, projects, & learning samples (including simple & focused how-to videos like you mention). We're currently working on in-editor tutorials, improved discovery for all of the existing advanced examples and use-cases, followed up with simple examples of all basic features.

    Errors: Thanks for pointing these out; user-facing errors are always top priority for us to fix when these come up. It's a little hard to say from your video, but I _think_ the error you see there has been fixed in 1.3. In either case, if you see it again, please send us the stacktrace (the text in the bottom panel of the Console window if you click on one of those errors) and we can really ensure it's taken care of.

    Generally speaking, the use case you describe -- Cinematic AR with characters able to navigate and respond to your environment -- is definitely a use-case we aim to have solved. The MARS NavMesh package & examples (namely the "Game - Advanced" template) is for precisely this scenario. That template doesn't go all the way to what you've described (the robot character is user controlled, not an auto-navigating agent; and that scene isn't set up with proxies to react to simple furniture). We very much want to make sure this use case works well, so if you're open to it, it'd be great to get on a call together, talk through any roadblocks you're having, and take care of any issues.

    Thanks again for taking the time to give us this feedback! We'd love to get it all worked out with you.
    tonialatalo and Dirrogate like this.
  3. Dirrogate


    Feb 18, 2014
    Thank you for taking the time to answer and help out so much, Jono! I'm going to try out the suggestions you've listed. and looking forward to a chat with you and the team.
    Kind Regards.

    P.s: I did have "Follow Match Updates" disabled.
    I'll try the script method you've mentioned
    tonialatalo likes this.