Roadmap: Experimental vs Preview features

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?

1 Like

Second that. I asked on another topic about this (Preview) thing on .NET

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.

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 :slight_smile:

2 Likes

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.

2 Likes

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 :slight_smile:

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.