Parameter | Description |
---|---|
packageFolder | Folder containing the package. ArgumentException is thrown if packageFolder is null , empty, or whitespace. |
targetFolder | Folder where the Package Manager will write the GZip tarball file. The Package Manager will create this folder if it doesn't exist. ArgumentException is thrown if targetFolder is null , empty, or whitespace. |
ownerOrgId | The ID of the organization that owns the package. ArgumentException is thrown if ownerOrgId is null , empty, or whitespace. |
PackRequest
A PackRequest instance, which you can use to get the PackOperationResult representing the path of the generated tarball from the PackRequest.Result
property.
Creates a GZip tarball file from a package folder. The format and content of the file is the same as if the package was published to a package registry.
Pack()
is an asynchronous operation. Before the operation is complete, you can use the PackRequest
instance to monitor the asynchronous operation.
Note: Make sure any other Client operations have completed before calling this method. For more information, refer to the note on the Client class reference page.
using UnityEngine; using UnityEditor.PackageManager; using UnityEditor.PackageManager.Requests;
[ExecuteInEditMode] public class PackageManagerClientPackExample : MonoBehaviour { PackRequest m_PackRequest;
void Start() { Debug.Log("Client.Pack example..."); // Replace with your actual package folder, target output folder, and organization ID string packageFolder = "Packages/com.company.mypackage"; string targetFolder = "Builds"; string ownerOrgId = "1234567";
m_PackRequest = Client.Pack(packageFolder, targetFolder, ownerOrgId); }
void Update() { if (m_PackRequest != null && m_PackRequest.IsCompleted) { if (m_PackRequest.Status == StatusCode.Success) { Debug.Log($"Package successfully packed at: {m_PackRequest.Result.tarballPath}"); } else { Debug.LogError($"Pack failed: {m_PackRequest.Error.message}"); }
m_PackRequest = null; } } }