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

Official Package Manager 22.1 Beta: Introducing New Features & Improvements

Discussion in '2022.1 Beta' started by cathyma, Dec 16, 2021.

  1. cathyma

    cathyma

    Unity Technologies

    Joined:
    May 5, 2021
    Posts:
    10
    Hello and happy holidays everyone!

    On behalf of the Package Manager team, we are delighted to introduce new improvements in 2022.1 beta:
    • Cache Configuration and Settings
    • Package Multi-Select Actions in Package Manager
    • Unity Package Signing

    These new features are officially out with the latest version, essentially 2022.1.0a16 and onwards.

    Continue reading to learn about some important updates and features in this beta release.


    ---
    Cache Configuration and Settings

    With projects and their embedded file size increasing, you might need to be able configure the location of the various package manager caches. By default, these caches are located on the main system disk (e.g. C: on Windows).

    Typically, these main drives are smaller as users have installed an SSD drive or it is already filled with other software. The feature allows users to choose their cache path and extend their editors to a location that fits their needs.

    IMPORTANT NOTE
    Please be aware that Unity 2021.2 and previous versions will be using the default path when caching, not the modified path.


    The following video walks through different interactions with the new features and outlines use scenarios. The timestamp and its description will help you pinpoint interactions of the feature.



    0:02 - Package Manager Preferences
    1. Open Package Manager Window
    2. Go to the “Gear” icon to open “Preferences”
    3. Under Package Manager section, the right-hand panel appears the “Cache Management”
    4. Within the “Cache Management” section, you will then see the current cache location for both packages and my assets.
    0:08 - My Assets Cache - Reveal in Finder - This will allow you to open the “My Assets” cache folder in your finder.

    0:10 - Change Cache Location for “My Assets”
    1. Select a different location
    2. Click “Choose” when you’ve decided on the new location.
    3. Location is then updated.
    0:15 - Download Assets

    0:25 - Change Location (Read-Only) of “My Assets” Cache
    1. Select Read-Only Location
    2. Warning dialog to alert that the changed cache location is in “Read-Only” and that Download and updates of assets won’t be possible.
    3. Download an Asset (click on download)
    4. On top of the dialog as previously explained, the console will again remind users that the chosen cache location is read-only and assets cannot be downloaded.
    5. Reset to default location
    0:33 My Assets Cache - Abort Current Downloads
    1. Download Large Asset (once location is in writable disk)
    2. Change Location While Downloading
    3. Confirmation from user who tries to change cache location while downloading
    0:56 - Package Cache Reveal in Finder - This will allow you to open the “Package” cache folder in your finder.

    1:01 - Change Cache Location for “Packages”

    =======================================================================​

    Package Multi-Select Actions in Package Manager

    With the introduction of multi-selection to Package Manager, users can manage various packages and assets within one operation. This improvement is a part of our focus on user experience and productivity.

    Common capabilities
    • Use all shortcuts (hot keys) to conduct multi-selection:
      • Specific Selection: Ctrl/Cmd + click
      • All Selection: Ctrl/Cmd + A
      • Range Selection: Shift + Click
      • Append Selection: Shift Up / Shift Down
    • Action Detail Panel (Right side)
      • Expandable foldouts display selected package information group by common action image1.png
    • Action progress (Spinning icon)
      • When executing multiple actions (i.e. installing, updating), a spinning icon next to the gear icon will appear (Top right of Package Manager Window) . This indicates that the action is still ongoing even if you are going through different tabs in Package Manager.
      • Once action(s) are completed, the spinning icon will disappear.
      • Spinning icon is clickable to redirect users back to the selection.

    image5.png

    Here's a grid that illustrates the possible actions in each tab: Link


    Specific tab capabilities

    My Assets
    • Actions include download & ability to cancel download image4.png
    • Manual check for updates
      • Added a “Check for updates” capability to allow users to fetch updates on demand - dropdown next to the refresh button in “My Assets” tab. image2.png

    ======================================================================
    Unity Package Signing

    With an increase of available packages in the Unity ecosystem, unique signatures were added to all packages produced by Unity and shipped with the editor. These signatures are verified when adding packages to your projects through the package manager UI or directly through manifest. This addition will provide feedback to users when Unity created packages have been modified from their original state, feedback that will better guide decisions when adding packages to projects.

    [1] When the Unity package has been modified

    image6.png

    Description: When a package has been modified*, the signature verification returns:
    • Warning dialog: “A warning occurred: This package version doesn’t have a valid signature. For your security, install a different version or report a bug to Unity.”

    • “Read more” link that will redirect users to Unity Package Manager Docs Resources page which will have information to help users navigate with packages with invalid package signatures.
    * Modification brought to your package(s) may come from different sources: yourself, your team (organization) or unwanted bad actors:
    In the case where package modifications were made by you or your project teammate(s), this warning dialog simply communicates your modification(s)
    However, if the installed package(s) display this warning dialog and you are suspicious of any modifications brought to your project through the package(s), then please follow the “Read More” and suggestions we have proposed to you.


    [2] When a Unity package has no signature, signature has gone missing

    The signature verification returns:
    • Warning dialog: “A warning occurred: This package version has no signature. For your security, install a different version or review your scoped registry and load the package from the Unity registry.
    • Read more” link that will redirect users to Unity Package Manager Docs / Resources page which will have information to help users navigate with packages with invalid package signatures.

    ======================================================================​

    Resources


    Here are some quick links to view the newest updates:
    • 2022.1b Editor Release Notes - Link
    • Package Management - Public Roadmap - Link
    ======================================================================​

    Getting started with Unity 2022.1 beta

    Please visit this link for more information on the beta releases. You may also simply go through the Hub Install Window to verify any pre-releases are available to you.

    A friendly reminder that before you take the beta for a spin, we encourage you to back up your project. This advice always applies when you are working with our beta and Pre-Release packages. Remember, the beta is not intended to be used for production – it’s for you to evaluate new features so that we can integrate your feedback. For projects in production, we recommend that you use verified packages and our most recent full release, Unity 2020.3.

    As always, we value your feedback and would be happy to hear from you. Please use this thread if you have any comments or questions related to these updates.

    Alternatively, we highly recommend always using our Public roadmap page to provide direct feedback on other new ideas and make a new feature request.
     
    Last edited: Jan 5, 2022
  2. Favo-Yang

    Favo-Yang

    Joined:
    Apr 4, 2011
    Posts:
    464
    About Unity Package Signing,

    Q1: Is this about the tarball integrity (which read from npm dist.integrity or dist.shasum)? Or you're talking about some new metadata available in package.json used for verifying the package folder integrity?

    Q2: Is that a feature only available for Unity-owned packages? Will it be available for 3rd-party packages located at "My Registry"?

    Q3: If it will be available for 3rd-party packages, please reveal the tool and process Unity used to sign a package folder, and the spec to store the metadata.
     
  3. cassandraL

    cassandraL

    Unity Technologies

    Joined:
    Dec 7, 2017
    Posts:
    111
    Hello @Favo-Yang
    Q1: It is new metadata added in the package, in a new file: .signature file which is next to package.json.
    Q2: For now, it is available only for Unity-owned packages.
    Q3: It is not yet available for 3rd-party packages.
     
    Thaina, cxode and Favo-Yang like this.
  4. Zoranner

    Zoranner

    Joined:
    Feb 24, 2017
    Posts:
    6
    Code (CSharp):
    1. Cannot perform upm operation: self signed certificate in certificate chain [NotFound]
    2. UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()
    I built an unity packages server and configure the SSL with a self signed certificate, unity needs an option to ignore that. Like npm strict-ssl false or cafile=c:\users\someone\ssl\local-ca.crt. If there is no already an option. Is seems like unity does not access the certificates of the OS (Windows 10). Or the package manager it self. maybe it's a separated system?
     
    Last edited: Jan 18, 2022
    cathyma likes this.
  5. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    I would love to ability to assign Labels directly inside the package manager.

    I need this to sort my assets and quickly find assets with a label
     
    cathyma and Ruchir like this.
  6. Harsh-NJ

    Harsh-NJ

    Joined:
    May 1, 2020
    Posts:
    315
    Thanks very much for this feature!, I was really lacking C: drive storage...

    Is pausing and resuming downloads working now???
     
  7. Onigiri

    Onigiri

    Joined:
    Aug 10, 2014
    Posts:
    486
    Can you add button for opening manifest file?
     
    swedishfisk, Ruchir and Harsh-NJ like this.
  8. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,338
    What's the status on npm registry authentication? In February of 2020, over two years ago, you wrote:

    We're using the feature, and while it works, it's a real pain to deal with. We have to hand-hold all new users on the project through the process, and it has all kinds of fun breakages (like it's a 50/50 if the npm version bundled with Unity functions or not).
     
  9. Neonage

    Neonage

    Joined:
    May 22, 2020
    Posts:
    287
    What about per-project packages cache? Can it use a single cached version of Burst compiler for all my projects?
    Since core packages want to have dependency on Burst (URP, Transport Layer, Animation Rigging..),
    any small project right now is 1GB in size minimum, it's so damn awful. I have to clean up my SSD all the time..
     
    DragonCoder, Ruchir and Harsh-NJ like this.
  10. Harsh-NJ

    Harsh-NJ

    Joined:
    May 1, 2020
    Posts:
    315
    Agree!
    Isn't it possible not to copy packages to each project, and just every project uses packages from a single location.
    It's sometimes a daunting experience...
     
  11. Thaina

    Thaina

    Joined:
    Jul 13, 2012
    Posts:
    1,168
    And so is this not related to Library/PackageCache folder if I am understand it correctly right?

    The main culprit of our disk space consumption of unity project currently is actually Library folder. And because each and every project need to cache the same package it become redundant even it actually should be shared in the same place, because most people will also use the same asset in multiple project or making same project separated folder for each platform