# Pack(string, string)

> 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.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.PackageManager](/engine/6000.0/script-reference/unityeditor/packagemanager.md)
* **Assembly:** UnityEditor

```csharp
public static PackRequest Pack(string packageFolder, string targetFolder)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Folder containing the package. `ArgumentException` is thrown if `packageFolder` is `null` or empty.**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Folder where the Package Manager will write the GZip tarball file. The Package Manager will create this folder if it does not already exist. `ArgumentException` is thrown if `targetFolder` is `null` or empty.

### Returns

| Type                                                                                              | Description                                                                                                                                                                                                                                                                                                                                |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [PackRequest](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/packrequest.md) | A [PackRequest](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/packrequest.md) instance, which you can use to get the [PackOperationResult](/engine/6000.0/script-reference/unityeditor/packagemanager/packoperationresult.md) representing the path of the generated tarball from the `PackRequest.Result` property. |

### Remarks

`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, see the note on the [Client](/engine/6000.0/script-reference/unityeditor/packagemanager/client.md) class reference page.
