Overview
[This is now live for everyone!]
Packages are designed to give you the ability to create an asset once, and then reuse it everywhere all while keeping them in sync. We have a clear vision for Packages, and today we want to give a couple insights into that vision as well as talk about a new feature we have been working on.
We have four core principles for Packages:
- Modularity
- Turn any instance or group of instances in your place and turn it into a modular, independently versioned and cloud-saved entity that is referenced by the place.
- Reuse
- Reuse any instance or group of instances across multiple places or games so that they don’t need to create disconnected copies of the same asset and manually update each of them.
- Sharing
- Share any instance or group of instances with others so that you can collaborate and updates made to the source asset are reflected wherever it’s used.
- Selling
- Sell any instance or group of instances in the Marketplace. Consumers should have the ability to receive updates to the asset after they acquire it.
In the past, we have been focused on the first two but today we are unlocking the third, sharing. This does not mean we are done with modularity or reuse as we know there are a lot of desired features and there is no reason for us to stop. Selling is currently not available, but with the release of the plugin marketplace, we are on our way to this becoming possible.
With Sharing & Collaboration for Packages, we will introduce new permissions, and a new way to interact with your Packages.
Group Packages
Yes, they are here. We want to introduce this long-awaited feature before we get into the nitty gritty. You can make a Group Package by converting an instance, or group of instances, into a Package and then using the new “Ownership” dropdown to select which group you would like to own this Package.
Rolesets with the Create & Edit Group Games permission will automatically be given Edit access to the Package so you can get working right away.
Permissions
Now, let me introduce you to the definitions for each permission. This should give you a framework for any additional content below.
- No Access (Group-Owned Packages Only)
- Designed for Group Rolesets. Will have no access to the Package.
- Use & View (User-Owned Packages Only)
- User with this permission will be able to use and view the contents of this Package
- User will be able to receive latest changes, or undo accidental local changes
- User can modify Auto-Update & VersionHistory property on the PackageLink
- User can Mass Update this Package
- Edit
- User will receive all above abilities
- User can modify and publish changes to the Package copy
- Cannot change, add or remove permissions for others on the Package
- Owner
- Owner receives all abilities you would expect
- User/Group Owner can manage the permissions set for the role sets or individual users
- User/Group Owner is the only one that add or remove Editors
When giving a user permissions for a Package, you are giving them the right to officially use your Package. If you ever decide to remove the user’s individual permissions they will go into a revoked-state. This revoked permission means that the user can continue to use the Package, but they will no longer receive updates. It will also stop showing up in their Toolbox. There currently is no view for you to see who is in this state.
Using
To use Packages that have been shared with you there are two methods…
-
Toolbox > Inventory > My Packages for Packages that have been shared directly to you.
-
Please note that Packages shared with you are currently ordered to the bottom of your Inventory. We recognize the desire for this to be changed and are looking into alternatives.
-
Toolbox > Inventory > Group Packages > Group Name for Packages that have been created by the Group.
Simple as that. From those two locations you can insert the Package into any location as long as you have the correct permissions. Please note that if they are no longer in your Toolbox this means you no longer have permission to use them. They will not be removed from your Game and you will be able to continue to use them without disruption (see: revoked-state definition above).
Managing Your Package
As you may have noticed in the above screenshot, we have a new way to manage your Package. To do this, go to Game Explorer > Packages > Package Details. You can also initiate this same flow by going through Toolbox > Inventory > My Packages. Once there you will be able to make modifications to your Package without leaving Studio.
Appendix
This feature took a lot of effort, and we wouldn’t be shipping this without them. Huge shout to @billlipeng, @aNewMoose, @smoothiecriminals, @April_Sheep, and @iriszh for making this happen.
Let us know your feedback below. We are currently planning for this to be out of beta within the next couple of weeks.