[Update] August 7, 2024
[Update] July 15, 2024
Hi Creators,
We aim to enable easy reuse and iteration of content across your experiences and teams through Packages. Today, we’re announcing several improvements that aid discovery of Package actions and Package states as you’re working in Studio. Improved icons in Explorer will clearly show package state, and package actions will be available from the 3D viewport context menu. We’ve also fixed a bug where packages shared with you didn’t show up in Toolbox. We are gradually rolling out the feature over the next two weeks, and all Studio users will see the changes by late July.
What is a Package?
For those of you not familiar with Packages, a package is an asset you can create by grouping together instances in a place. For example, it can be a collection of 3D instances that form a Car object, or a collection of scripts that form a code library.
With a package, you can continuously update the content of all of its copies from one place. You can also share it with your collaborators to co-edit or use. It’s a great way to distribute and reuse content across your experiences and places. For example, let’s say you want to build out a forest landscape. You can:
- Create a placeholder block (e.g. red block below) that you group into a model or a folder. Convert the model or folder into a package, and place them around your world.
- Pick one of the package instances and design your tree. Once the tree looks good, publish the changes as a new version of your package.
- You can update all package instances to receive the latest version. Now, all the red blocks change immediately into your tree!
You can read more about packages here.
What’s New With Packages?
Improved visibility of package state
A package can be in different states, depending on whether it has a new version to update to. We’ve made it easier to track these states on the package instances inside the Explorer. You will now see a Link icon and tooltips on the right side of a package instance:
Package Icon | Package State | Meaning |
---|---|---|
Package auto-updates are off | This state indicates that the instance in the Explorer is a package, and that it doesn’t have auto-update functionality turned on. | |
Package auto-updates are on | When a package has auto-update on, any new versions of a package will be automatically applied to the package instance. Updates happen only when the place containing the packages has been opened. | |
Package update available | This state means that a new version of the package is available. You can choose to update the package instance to the latest version. | |
Package has unpublished changes | If you edit the content of a package instance, it will enter into a “modified” state. This means that there are unpublished changes that only this package instance has. If there is a new package update, you can choose to keep your customized modifications or override with the new update’s contents. |
|
Package auto-update is disabled | This state means that the package instance has auto-update on, but you’ve made unpublished changes unique to this instance. If there is a new package update, auto-update will be blocked. It will enter into the state below. |
|
Package update is available but there are unpublished changes | This state means that your package instance has been modified but also has a new update. You can choose to update to the latest version or keep the existing modifications. Packages with unpublished changes will never automatically update. Auto-update is blocked so that your customized edits don’t get overridden without your confirmation. |
Example Scenario
Let’s walk through the above example scenario again to see how package state will be reflected in the Explorer:
- You have six “Tree” packages in your place. They are just red block placeholders for now.
- You pick one package instance and design it into a real tree (highlighted in blue in the image below). The package instance you’re editing enters into a “Package has unpublished changes” state.
- Once the tree looks good, you publish the changes as a new version of your package. You can see that the rest of your package instances now have a “Package update available” state.
- You choose to update all package instances to the newest version. Once a package is on the latest version, it’ll return to its default state.
Package actions available in the 3D viewport context menu
Previously, you could only see package actions – such as create, publish, or update packages – by right-clicking on the package instance inside Explorer. We have heard your feedback that this is difficult to discover. You can now right-click directly on an object you’re editing in the 3D viewport and find package actions available in the context menu there.
All packages you have access to appear in Toolbox
We’ve fixed a bug that was impacting visibility of some packages in Toolbox. Now, inside Toolbox > Inventory, under “My Packages,” you can see:
-
Packages that you own
-
Packages owned by a friend that you have Edit or Use permissions to
-
Packages owned by a Group can be found under Toolbox > Creations, under “Group Packages”
What’s Next
We have more package workflow improvements coming later this year:
- Ability to enter version notes at time of publish, so that you or your collaborators can keep track of the changes made in each version
- Enable easy distribution of OSS code libraries to the Roblox asset system and to Creator Store via Package publish API
Please comment below for any feedback or questions! Many thanks to the wonderful team that worked on this feature: @strange_times, @eugenekim159, @ameowth07, @CurbM0nkey, @EndlessSashimi, @MrMark2u, and @yipiokay