Improvements to Packages in Studio (November 2019)

Hey developers,

We are constantly working towards the future of Packages. Recently, we have been hard at work in improving the overall experience for Packages. Below, I’ll give a quick run down of each juicy bit, and then I’ll tell you a little bit about the future.

Packages Modifications

Previously, due to legacy behavior in Studio, whenever you made a modification to a Package we displayed a bright orange banner that warned you that you would be unable to publish your game. When we introduced saving to the cloud, this behavior persisted. This meant that your game would not save to the cloud and there was very little feedback when this occurred.

NO LONGER! As of the past few weeks we have been testing this change that would allow you to save to Roblox with modified Packages. Additionally, we banished the orange banner. No one read it anyways. Please keep in mind that you will still be prevented from publishing, but we will only notify you when you attempt to publish.

Diffing Scripts

Previously, we required that you published your latest changes in order to view script changes. Now, you are able to view script changes to the latest cloud version with your modifications before publishing!

image

Other Goodies

Additionally, with all the awesome changes above we solved performance issues related to large Packages that caused hangs inside of Studio. Performance when copy & pasting Packages should also be improved.

Near Future?

We are constantly improving Packages. We hope these tactical improvements will help Packages become easier than ever to use.

Coming Soon:

  1. Mass Updates will now be possible for nested Packages thanks to the changes we made above.
  2. ########: ###########

None of this would have been possible without the amazing work from @billlipeng and @April_Sheep.

As always, leave your feedback in the comments below, we would love to hear from you.

Have absolutely no idea what Packages are and want to learn more?? Check out this wonderful article on the DevHub: https://developer.roblox.com/en-us/articles/roblox-packages

the hashed out letters has the exact letters of the project name. you probably thought it was random didn’t you?

76 Likes

This topic was automatically opened after 19 minutes.

While the updates are nice, how’s the future on the usability of packages? Are there plans to create a system where you can load in a whole game given one package? For example, if I have 10 different places that all use the same scripts… instead of updating 10 places at once, I’d only have to update one package? Currently the issue with this lies in that I can’t package the different locations that I’d need these scripts/objects to be in, including startergui, replicatedstorage, serverscriptservice, etc.

Are there plans to change it so that the package owner of packages created in a group game is the group? Currently my development team can’t see any of my packages in order to load them into new places within our universe/group.

11 Likes

I thought the ####### was the introduction of the Roblox filter to the forum!

27 Likes

Nooo… I thought you were hinting towards upcoming fixes to the filter. :sweat_smile:

All kidding aside, thank you to the entire team for addressing the issues with publishing games when Studio miss-detected unsaved packages. These updates have been life-saving!

7 Likes

Something I’ve noticed with using Packages is that if I have one instance of a Package set to auto-update and changes from a different place are published, the “auto-updating” Package doesn’t reflect the new changes in new servers of that place, and I have to go into the place and publish it before I can see these changes.

In my case, I’m trying to have one source place that holds the packages that are used throughout all the places in my game. I really don’t want to have to open up every single place so I can publish it, and assumed that Packages would help alleviate this.

3 Likes

This. The Auto-update toggle really needs to just pull the most recent version of the package and load it when a new server starts. It’s terrible to have to update 15+ places when you rely on Roblox’s current game setup.

LinkedSources used to be great for this functionality. Please add some way to do this with packages :slight_smile:

5 Likes

I have been developing a framework that my games and my dev team can use across our games, and packages feature is perfect for just that, however, I still feel very limited on what I can do using them.

  1. I am required to have all package items under one parent, and they cannot be in different locations (i.e the package is in ServerScriptService, but it contains some modules I’d like in Replicated storage)

  2. I don’t have a say on which of the games can receive a specific (or latest) version of the package, if the game has my package and has auto updates then it’ll get anything i publish

  3. I have to manually publish a package before publishing a game, instead of having a configuration that can allow the package to auto publish upon my publish of the game.

  4. (what oniich_n said) allowing packages to automatically go live on new servers after the package is published.

out of the four, #1 is the most I wish packages can do.

It’s a REALLY great start of an awesome feature so far, I can’t wait to see everything that’s to come!

Thanks to everyone that is working on it, really helps our development process especially for big teams!

2 Likes

Hello @nsgriff !

I know that I should make a bug report, but since this post is pretty fresh I’ll just leave it here. I have found an issue with the non-published package diff feature. image

I have changed the version from 1.6.0 to 1.6.1. Maybe it’s just me wrong, but I’m used to VS Code and it always marks the updated version with + and old with -.

TL;DR: Seems that removed things are marked with red - and added with green +.

Finally! I have avoided using packages ever since I lost a few hours of work due to unedited packages bugging out.

It would be nice to be able to have packages publicly available like free models, since a lot of my packages are also things that I release publicly.

1 Like

You actually do! You can simply set your places to be manually updated. Whenever you want to update a package for a given place, you can open it in studio and update it. Doing it this way allows you to have difference places with different versions of your framework, so you only have to update them when needed. It also forces you to test how the package changes affect your place before publishing to your live servers, which is a good practice to get into.

From my point of view, you should treat packages the same way as you would treat dependencies/packages in any software project outside of Roblox.

That IS true, however it doesn’t work for the use case I’d like, where for example I give the package as a service and if the user does not comply with the terms, as the package creator, I want to be able to stop giving that place the latest version even if they have auto update on.

1 Like

Packages don’t support sharing between users yet, unfortunately.

Also,

Packages can be read from. What’s to stop your client from just stealing the source code and making their own copy?

1 Like

I think you’re misunderstanding me here, i don’t care if they look at the source code I just don’t want to give them any more of my updates.

Ah, I see. Yeah in that case a granular update feature would be useful.

2 Likes

Can we expect packages published in a group place to actually be published under the group, rather than the individual who created it? I mentioned this almost exactly a year ago and I’ve not received any response on it. This causes problems as the rest of our team is unable to modify packages I create.

I’m guessing this is something to do with the private packages thing that I’ve seen a few roblox staff briefly talk about?

2 Likes

Those additional features and improvement are somewhat useful but I would prefer that these following features arrive as soon as possible to make Packages actually a viable option for Team Development use;

  1. First we need them to be accessible by other people
  2. Secondly we need to be able to Remove Packages from our game from the Game Explorer window

At it’s current state Packages can only be used for Solo Development and Half broken Team Development at best

2 Likes