Packages (Reusable Assets)

Roblox packages allow you to create object hierarchies once and reuse them in as many experiences as you'd like. With packages, you can keep commonly used models, scripts, and more in sync by updating any copy within any experience to the most current version.

Converting Objects to Packages

All reusable objects can be converted to packages. Note that if the intended package contains 3D elements, you should group them into a Model.

To convert an object into a package:

  1. In the Explorer window, right-click the object and select Convert to Package… from the menu.
  2. In the dialog window, fill in the requested details. In specific, note the Ownership selection:
    • Select Me to retain personal ownership.
    • Select a group in which you have permission to create/edit group experiences to publish the package to that group.
  3. Click the Submit button.

Once complete, the object is identified as a package by the "chain link" symbol in the lower-right corner of its icon. Additionally, you'll see a new PackageLink object parented to the object.

Standard Model
Standard Model
Model converted
to a package
Model converted to a package

Accessing Packages

Toolbox

Submitted packages are added to the My Packages sorting in the Inventory section of the Toolbox.

Right-clicking any package presents the following options:

Option Description
View in Browser Opens up your browser to the package's asset page.
Copy Asset ID Copies the asset ID of the package to the clipboard.
Package Details Lets you manage basic package details, access permissions, and package versions. See Access Permissions and Versioning for details.

Asset Manager

Packages that are used within any place in an experience also appear in the Packages folder of the Asset Manager.

Right-clicking any package in the folder presents the following options:

Option Description
Insert Adds a copy of the most recent published version of the package under the current selection, or to the Workspace if nothing else is selected. Double-clicking the package object has the same effect.
View On Website Opens up your browser to the package's asset page.
Copy ID to Clipboard Copies the asset ID of the package to the clipboard.
Package Details Lets you manage basic package details, access permissions, and package versions. See Access Permissions and Versioning for details.

Managing Packages

You can edit packaged objects just like any other object. Those with unpublished changes are marked with an orange dot in the Explorer window.

Publishing Package Changes

To publish changes to a package and make them available to other package copies:

  1. In the Explorer window, right-click the changed copy and select Publish Changes to Package.
  2. Once completed, outdated copies of the package are marked with a green sync icon next to the name. You can then individually sync or mass-update the outdated copies.

Syncing Outdated Copies

You can update package copies marked with a green sync icon to the most recent version, or you can continue to use the older version. However, you can't publish an overall place if it contains packages with unpublished changes.

To update an individual package copy to the latest version:

  1. In the Explorer window, right-click the package copy and select Get Latest Package.
  2. If prompted, click the Get Latest button. This updates the package copy to the most recent version.

Reverting Changes

Instead of undoing a series of changes to a package one by one, you can revert any modified copy to the most recently published version.

  1. In the Explorer window, right-click the modified package copy.
  2. Select Undo Changes to Package from the context menu.

Mass Updates

In addition to individual syncing and automatic updates, you can update packages on an experience-wide scale.

  1. In the Explorer window, right-click the desired package and select Update All from the context menu.
  2. In the popup window, select the places within the experience for which the mass update should apply.
  3. Click the Update button.

Automatic Updates

To make syncing easier, you can set a package to auto-update whenever a newer version is published.

  1. In the Explorer window, expand the package's hierarchy tree and select its PackageLink object.

  2. In the Properties window, enable the AutoUpdate property.

Nested Packages

When working with nested packages, for instance a packaged Script inside a packaged Model, note the following:

  • Modifying and publishing a child package (nested package) marks the parent package as changed, so you'll need to re-publish it. Because of this behavior, nested packages are exempt from automatic updates.
  • Modifying and publishing a parent package doesn't change any child packages within it, so you won't need to re-publish it.

Access Permissions

If desired, you can share packages with specific users and give them fine-grained control over usage.

  1. In the Explorer window or Asset Manager, right-click the desired package and select Package Details from the context menu.
  2. In the popup window, select Permissions in the left column to reveal options that pertain to the package's ownership level:
Ownership Permission Options
Friends Only Find a user by Roblox username, click their name, and then choose a permission level.
  • Use & View – The user will be able to use and view (but not edit) the current and previous package versions.
  • Edit – The user will be able to use, view, and edit the current and previous package versions, including publishing changes to it.
Group Package Expand the role tree by clicking the next to the group's icon, then choose a permission level for each role.
  • Edit – Members of the role will be able to use, view, and edit the current and previous package versions, including publishing changes to it.
  • No Access – Members of the role will not have access to any new versions of the package, although they will retain access to the current and previous versions.

Versioning

When necessary, you can restore a package to a previous version as follows:

  1. In the Explorer window or Asset Manager, right-click the desired package and select Package Details from the context menu.
  2. In the popup window, select Versions in the left column. The currently published version and previously published versions appear (V2, V3, etc.) along with the date/time they were published.
  3. Click the check mark next to the version you wish to restore and click Submit.

Comparing Script Changes

When a package object contains scripts, or the script itself is a package, you can compare differences line-by-line using the built-in diff tool. This can help you decide whether to update as well as explore what else in the experience may need edits to make the update compatible.

To compare script changes:

  1. In the Explorer window, right-click a modified or outdated package. Remember that the package must either be a script or contain scripts.

  2. Select View Script Changes… from the context menu.

  3. In the Diff Result tab that opens, compare all of the changes between the current package copy and the latest published or local version, similar to source control applications.