> For the complete documentation index, see [llms.txt](https://docs.siminsights.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.siminsights.com/hyperskill-studio-authoring/virtual-entities/vx-publisher/batch-package-and-upload.md).

# Batch Package and Upload

Package and upload many assets in one go. Select a folder that contains several asset folders, and the VX Packager packages each one and uploads it: assets that are already on HyperSkill are **updated**, the others are **created**.

## Package and upload a folder of assets

1. In the Project window, right-click a folder that contains your asset folders, for example `Assets/VO`, and choose **VX > Package and Upload**.

   Or open **Tools > VX Packager** and set **Asset Folder** under **2. Package** to that folder. The panel lists every asset it found and whether uploading creates it (**new**) or updates it (**update**). Click **Package + Upload All**, or **Package All** to build without uploading.

![The batch panel of the VX Packager listing the assets in Assets/VO](https://2704613365-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxYaaXoZ4YGbVdAnAhdcE%2Fuploads%2FU2IffnRBZV8u9Tj3F7lA%2Fvx-packager-batch.jpg?alt=media)

2. Confirm the upload. The confirmation lists each asset and how many are new and how many are updates.
3. The assets are packaged and uploaded one at a time, with a progress bar. If one asset fails, the others still run.
4. When the batch finishes, a summary lists each asset as **created**, **updated**, **packaged** or **failed**, with its virtual object ID or the first error. The full results are saved to `VOPackages/vx_batch_result.json` in the project.

Each new asset's virtual object ID is saved in its folder, so running the batch again updates those assets instead of creating duplicates.

## Which folders are included

A folder is an asset folder when it contains a prefab or a scene with the same name as the folder, for example `F35-C/F35-C.prefab` or `Office_space_1/Office_space_1.unity`. The VX Packager looks through the selected folder and its subfolders for asset folders, but never inside an asset folder, so folders such as `Textures` or `Models` are not mistaken for assets. Folders that are not asset folders are skipped.

The batch uses the settings of each asset (type, collider, platforms) and the **Make Self-Contained**, **Add Default Collider** and **Generate Thumbnail** options. Other right-click options, such as **VX > Package** and **VX > Make Self-Contained**, also work on a folder of assets.
