Packages Phase 2: Advanced Updates [LIVE!]

Hello, again.

Late last year we released Packages. This feature changed the way you reused assets and as of today you will be able to use our latest Packages features, Auto-Updates and Mass Updates. Packages is one of the most powerful features we have ever released in Studio, and it continues to get better with the introduction of these latest enhancements. Let’s get into it.

Beta, beta. (Packages Phase 2 is no longer in beta :slight_smile:)

This feature has officially been released to everyone and this step is no longer required.

First, I would like to introduce a new way for you to beta test upcoming Roblox features. By heading over to File → Beta Features, a new dialog should appear that will allow you to opt-in to all these juicy (in-progress) features.

Some of you may notice that option is not there. After a brief beta period of our… beta feature… feature(?!) we will be enabling this option for everyone. In the mean-time you can run over to this post to enroll in our Beta program to get early access. The length of time a feature will be in beta is determined on a feature-by-feature basis. Now onto the good stuff.

Auto-Update, everything.

Auto-Updates is a powerful addition to the family. Auto-Updates is configured at the Package copy level under the PackageLink object. Once enabled, your Package will be automatically updated as soon as changes are published to your Package including Packages that are in different Places across your Game.

There are two things I would like for you to keep in mind with this feature:

  1. Auto-Updates is not available for nested Packages. This is due to how we currently handle modifications of Package copies. We want to address this in the future.
  2. Auto-Updates do not persist on inserted Package copies. Auto-Updates is off by default. This means that if you publish a Package copies modifications to the cloud version of your Package, it will not persist the Auto-Update boolean.

Now, I’d like to show you Auto-Updates in action:

Mass(ive) Updates, everywhere.

Begin your quest by right-clicking the Package object in Game Explorer and using the “Update All” context option. From there you will be able to update all copies of your Package across your entire Game.

B O O M.

Once again, Mass Updates will not change nested Packages. We understand the use cases here and want to address this in the future.

Stop, hammertime.

Since November, the awesome engineers working on Packages have managed to slide in a couple of improvements that I would like to highlight as well.

By popular demand, you are now able to undo local modifications to the latest copy via context menu option.


We also decided it might be a good idea to allow you to revert to an older version of your Package by implementing a simple version history option in the PackageLink object. When you revert to an older version it will mark your Package copy as modified and you will have the option to go back to the latest cloud copy or publish changes to make that previous version the latest.


Don’t forget to check out the Packages DevHub Article to learn how to use these incredible new features.

In The End

All of this starts with one thing, our team. I would like to give a massive shout out to @lll_xyz, @IcyTides, @billlipeng, @twberg, @iriszh, @RoxyBloxyy, @CycloneUprising, @Regal_Corgi, and @qmasterman. I don’t know why, but they moved at a blistering speed to deliver this incredible feature.

But of course, it doesn’t even matter how hard we try without your incredible feedback so keep that in mind and please drop it in the thread below.


I was just thinking about how annoying it was going to be to work on my game framework across multiple places and have to constantly update each place’s framework whenever I made additions to it. Very exciting (and convenient) that this came out today! Can’t wait to start using it :smiley:


This is so good, this is wonderful, just woohoo!


I completely agree that packages are a very powerful update to the Studio workflow and these updates incentivise the use of packages more than ever.

The Beta features tab sounds like a wonderful way to roll out opt-based updates. A question regarding this, however: if the option is intended to eventually be available to everyone, does that mean that signing up for the Beta program will be removed in favour of pushing beta features from this panel?

Phase 2 is looking really good, as are the plans. I personally cannot wait for package sharing and collaboration. Maybe that’ll even leave room for a couple of productivity feature requests (cough, Third-Party Private Module replacement).



For Studio we will be favoring using the Beta Features Panel over the signup program. We will make an announcement when we do this.


The ability to do this across multiplace games is key. If you wanted to make your map winter themed, you could update 100s or 1000s of trees or other objects at once. This makes making small changes super easy. The idea of opt-in beta features is great also.


Sounds awesome!

Also now I have Linkin Park stuck in my head for the first time in 10 years


It seems like auto-update still requires you to manually go into studio for every place and publish it to get the newest packages on a live server. I was expecting it to update the packages without needing to manually publish once again. Will this be possible in the future, or will the Mass Update feature be the way to do that?


Very excited that this update came out today!

Sounds really awesome! Can’t wait to start using it :slightly_smiling_face:

1 Like

I was just looking at the roadmap yesterday and longing for this very feature. Are packages stable enough to use for all my libraries? I’d love to properly utilise them with this new auto-update feature to keep my libraries up to date across all my places where I use them, but have held back from using them for a while.


Initially, the plan was to add this functionality into Mass Updates. Unfortunately, this could be a very dangerous action, especially for live games. We decided to break out this functionality, and have added this to our roadmap as part of our cloud development initiative.

Thank you for bringing this up. We definitely understand the use cases here. :slight_smile:


Most Top Devs would recommend to have two separate places for your game anyways, one main and one for editing, at least 2 of them, so updating changes to all live servers wouldn’t really be a problem when executed properly

Are we going to get some kind of similar functionality from something Roblox is working on in the roadmap?

We want to make game development as streamlined as possible. The current workflow isn’t awesome, so we are always working towards making it the best experience possible.


This is an amazing feature that will definitely help me out when I realise I’ve done something wrong with something that I’ve pasted a thousand times and need to make a small adjustment. :+1:

Amazing, this will become useful for streamlining development of cross-place development, especially when having duplicates of objects.

I’ll test it later. Hope it will boost the workflow a little.

Looks very interesting, can someone explain what this really gives developers as I’m a bit lost with the whole thing, I sort of understand that if you’ve got a model in different places when you restart studio it updates to whatever properties have been set but what if it was like different model positions or something along those lines?

1 Like

Cool stuff! Glad to see the efficiency of developing on ROBLOX is constantly improving!

1 Like

The “Mass Update” window prompt says that it is recommended that you close other Studio windows before mass updating. Are there any known issues that occur if you do not do this?

1 Like

Are there plans to make packages created in group games go to the group, not the player who created it? I don’t want packages from a group game in my inventory. I want them in the group that the game belongs to.

1 Like

This is a great update! I’m so happy to see…

Wait a minute… *squints* Is that a new colors menu I see?