We recently went through our package list to identify preview packages that are further from the verification stage, just dependencies of other packages or not under active development. In Unity 2020.1 and later versions, these preview packages won’t be listed in the Package Manager.
However, if you’ve already installed these preview packages, they won’t be removed – you can continue to use them, and they will still show available updates in the “in-project” filter of the Package Manager UI. Also, they will remain available in the production registry. You can still add them by editing your project manifest, or by typing in the package name under Add package from git URL in the Package Manager.
I agree with @capyvara , and I’m not convinced by the idea of getting updated from a newsletter.
Why not just create a new category (called “Experimental Packages” or something else) to make a distinction with Preview Packages ?
Just showing my support for that idea, that makes things way clearer about whether or not it is an “experimental” package or a “preview” (closer to released state) package.
But I have one question/request: for installed “experimental” packages, will it still show when there is an update for it? This is extremely helpful as many of those packages (including Entities one) does not have a dedicated thread for new releases announcement (so I, and probably many more people, rely on the Packages Manager to know when there is a new version to try).
Wow I use multiple of these and wonder now a bit. Thanks about the transparency. One feedback to the editorcoroutines: I use it permanently and would just slap a version 1 label on it to be honest. I never had a single issue.
That’s a fairly important distinction you just glossed over.
It would be nice to say which ones are abandoned and which ones might just take a while longer to mature.
The other problem here is what happens when you add a new package to this list? Where’s the single canonical URL I can visit to see all the packages that are available but currently hidden?
We’re working on a solution to make experimental packages from developers that are actively looking for feedback discoverable from a single source. This source will be outside of the Editor to minimize the risk of confusing users about the nature of these packages.
Yes, if the package was added manually to a project, updates will still be available from the “in-project” filter in the PackMan UI.
@LeonhardP , thanks for the information. How you achieve this? By introducing a new field to the package.json or it’s something magical happens inside the UPM.
Don’t want to reject this idea without knowing precisely what solution you plan to offer, but at the moment I can’t see any good reason to not take advantage of the package manager. Why spend time to create another tool or scatter packages informations in different places ?
About the risk of confusion, what about addding a “Show experimental packages” (or “Show prototype packages”) inside the Advanced menu of the package, disabled by default, and each time user enable it you display a dialogue pop up explaining precisely the nature of these packages and asking a validation from the user. You think it wouldn’t be enough ?
I totally understand the need to do this and I support this decision. No sarcasm. I don’t wanna see not-ready-to-use packages in the manager which confuses me and others working with me. Like AAA games need to be ready to play on release day without major bugs, Unity packages must be included in the Unity experience when they are “almost” ready.
For most of the packages I kind of get why they’re being hidden from the package manager but I did not expect to see com.unity.vectorgraphics in the list. I’ve been using it without many troubles throughout Unity 2018 & 2019. Vector Graphics are used in the UI Builder as well.
Is this because there is no development going on in this package?
I consider this package as quite usable but also a must for crisp UI on any resolution which SVG is designed for.
Having to edit the manifest manually to add these packages is a step backwards. I’d rather be able to see these not ready packages as being marked as something else than preview. Like “Experimental” or “Alpha”
Actually, this decision infuriates me. This is why we can’t have nice things. Always the bending over backwards for the lowest possible common denominators.
Because of a handful of people cannot decide for themselves to use or not use clearly tagged packages we cannot have them accessible in the editor by default.
Better package filters would be a better solution than removing packages from the package manager.
There is a massive difference between a package coming in year or two or three and those that are not being developed anymore. People using packages that are no longer being developed should be made aware of this in a clear way.
It would be much clearer if packages being developed were rated as prototype, alpha, and beta rather than preview. The packages that are no longer developed should be marked as obsolete or deprecated and removed from the package manager and the package repository after giving people using them time to transition to a suitable replacement.
This was already the case and people still enabled it and then got angry/frustrated that the preview packages aren’t finished, stable, or working as they thought it should. In 2020.1 and 2020.2 they added extra steps to enable preview packages. Maybe that’s not enough and this other solution will help
This is why preview is not good spelling. It do not have understandable meaning. Prototype is mutch better. And if Unity add alpha, beta, rc and release stages like for UnityEngine itself then community will be notified than package even not reach alpha state yet.
For now we have many packages labeled as preview that is actually in beta or rc state.
We have use Entities package that is maximum in alpha stage and have no problems with it at all.
The only good thing from Unity I see is idea to label packages plans to support nearest future LTS. But solution for this label is ugly. I think good way for this can be just separate field in manifest with planned release date or release Unity Version
Wouldn’t it be so much easier to just add an “Show experimental packages” checkbox somewhere (maybe even hidden so just people that know what they’re doing edit it and no beginner can accidentally activate it) or - even easier - display a warning like “This is an experimental package with a high chance to change in future and break your project. Are you sure you want to install it?” that has to be actively accepted before installation.
Removing it from the Package Manager is no good idea imo and will slow me down. I don’t want to check some other sources when it should be right where it is now. And I use quite a few of the packages like DOTS, Hybrid Renderer and what belongs to them.
@LeonhardP If that’s really what you’re going to do, will the packages then at least be updateable via Package Manager when they’re already added to the manifest? Otherwise this change will really suck and is a major inconvenience.