Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice
  2. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  3. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Roadmap: Experimental vs Preview features

Discussion in '2017.1 Beta' started by Peter77, Jun 21, 2017.

  1. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,590
    The 2017 roadmap lists some features being provided as experimental, while others are made available as preview:
    • Animation Performance Recording (Experimental)
    • Scripting Runtime Upgrade (Preview)

    I would like to understand what this means in practice? What is the difference between Experimental and Preview features in Unity?
     
    Last edited: Jun 21, 2017
    zazoum likes this.
  2. zazoum

    zazoum

    Joined:
    Sep 3, 2011
    Posts:
    78
    Second that. I asked on another topic about this (Preview) thing on .NET
     
  3. Devilbox-Games

    Devilbox-Games

    Joined:
    Jul 3, 2012
    Posts:
    205
    My assumption would be:
    • Preview features are nearing completion and won't be finished in time for release but won't change all that much when it's finished, not really recommended for use in projects but good enough if it's needed.
    • Experimental features are still in heavy development and could change significantly in future releases. Likely to be buggy, incomplete and not ready to be used in projects yet outside of testing the feature.
     
  4. Schubkraft

    Schubkraft

    Unity Technologies

    Joined:
    Dec 3, 2012
    Posts:
    1,070
    Things that are in "preview" are usually already in a beta build or even in a release build. It means that we already ship it in a proper build for you to try out but it might still be rough on the edges.

    "Experimental" means that we put a feature in a special build that you need to download and we want to get feedback from you about it. It is usually a build based on an already released build so it will be easier for you to try out.

    But it might not be as clear cut at times :)
     
    zazoum and Peter77 like this.
  5. Alex-Lian

    Alex-Lian

    Guest

    To add to it:

    We have the experimental namespace, which is what "Animation Performance Recording" is more referring to. Which arguably is also in "Preview".

    We're working on dropping the "Experimental" term for builds that are special with one feature to get more input on. We're moving towards "Feedback" Builds.

    Experimental will move forward to continue to refer to the scripting namespace where we're unsure if the API design is complete.

    Preview is as Schubkraft says.
     
    zazoum and Peter77 like this.
  6. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Indeed it's pretty confusing for public facing builds. Personally I would prefer that there are Experimental builds only as these by default would need feedback.

    Preview I think, is a mistake. It's a bit like hey this is what we're working on but you can't have it and we might change it. In essence, it's pretty useless. I would just prefer stuff to be:

    - Experimental builds
    - Experimental namespace

    Both welcome feedback and do not confuse users. Although I guess you guys want 2 different things still :)
     
  7. Alex-Lian

    Alex-Lian

    Guest

    Indeed, Preview needs to be used a bit more sparingly.

    There's a bit of chicken and egg on feedback that we're still working to improve. In the current state, we have features that never get enough feedback and coverage without going Preview. This is ultimately the case here with .NET, as we've fixed most everything we know about and have one or two final things to address. However, while we expect we'd work well for the majority of cases, we also know there's plenty of unknowns that will come our way to address before we can stand by it as solidly as the existing runtime.