PackageCollection
A collection class that represents all packages in a Unity project, providing enumeration and error handling capabilities for package management operations.
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Class
- Namespace: UnityEditor.PackageManager
- Assembly: UnityEditor.CoreModule
- Implements: IEnumerable<PackageInfo>, IEnumerable
public class PackageCollection : IEnumerable<PackageInfo>, IEnumerable
Remarks
Implements IEnumerable <PackageInfo> interface.
The PackageCollection class serves as a container for PackageInfo objects representing all packages in a Unity project. PackageCollection information is typically obtained as the result of a Client.List() operation. Use the PackageCollection to iterate through packages and check for collection-level errors that might occur during package resolution.
using UnityEditor.PackageManager;using UnityEditor.PackageManager.Requests;using UnityEngine;public class PackageExample { void ListAllPackages() { ListRequest request = Client.List(); while(!request.IsCompleted) {} if (request.Status == StatusCode.Success) { PackageCollection packages = request.Result; // Check for collection-level errors if (packages.error != null) { Debug.LogError($"Collection error: {packages.error}"); return; } // Enumerate through packages foreach (PackageInfo package in packages) { Debug.Log($"Found package: {package.name} @ {package.version}"); } } }}
Remarks
- After the PackageCollection is created, it's immutable.
- Package enumeration order isn't guaranteed.
- Collection-level errors indicate issues with the overall package resolution, not with individual packages.
- The collection can contain direct dependencies and transitive dependencies.
- Use in conjunction with Client.List() to get an up-to-date view of project packages.
Related information
Properties
Property | Description |
|---|---|
| error | The error associated with the package collection. |