The “Update All” feature present within the Game Explorer flat out fails to function at all. Packages in other places will retain older versions and not actually update. This error, in testing so far, occurs 100% of the time.
Repro Setup and Performance:
This setup is a fairly long process, so please follow each step carefully.
Step 1: Create a new baseplate. Publish this baseplate to Roblox. Step 2: Open the Game Explorer window and add a new place to the Game. The name does not matter. Step 3: Create a new folder in the ServerScriptService with the name MyCoolPackage. Place a script inside of this folder, and set its code to error("Error Message"). Step 4: Right click the folder and publish it as a package. Publish the place to roblox (if you do not publish, step 5 cannot be performed as the package will not show in the game explorer) Step 5: Enter the new place you created in step 2 in studio, and keep the studio window for the first place open (you will be returning to it). In the second place, insert your newly created package into the ServerScriptService. Publish the second place, and exit. Step 6: Insert a new Script into ServerScriptService of the first place. Set its source to the code present in https://pastebin.com/kFGxWE6L. Replace the ID 0 with the ID of your second place. Step 7: Edit the script inside of the package to warn("No error here!"). Publish the changes to your package, and publish the place to Roblox. Step 8: Right click the package in the game explorer. Click “Update All”, and make the change apply to both places. Step 9: Navigate to your game on the website and play it via the Roblox Player. Step 10: Before the game teleports you to the second place, press F9 in your console and look for the warning message. It should be the warning created in Step 7 ("No error here!"). Wait for the game to teleport you to the second place. Open the console again and look for an error message. It will be the error created in Step 3 ("Error Message"), not the updated code as mandated by Step 8.
This is because you never published Place #2 again. When you “update all” you are updating all the Packages (intended behavior). If you go back to Place #2 and publish it again then the correct code will appear.
Updating a Package should not publish the place for you, that is unintended behavior. You still have to open each place and publish individually. I understand the use case in which you do not want to have to open every place to update and we are looking for ways to solve this independent of Packages.
The original poster’s issue that that Update All doesn’t have publishing capabilities is the correct behavior, but also makes a good point. I agree that Packages should not have the ability to publish places since it would be extremely dangerous to publish to potentially 10+ places without making sure there are no errors.
I think that if you were to do this outside of Packages themselves there would need to be the ability to see all the places that a particular package is being used in and the functionality to pick and choose which places you want to publish package changes to. Or the ability to simply publish an entire universe all at once. The ability to publish all your places with one click is probably one of the more enticing attributes of packages since it could end up taking hours to go into each place and publish it individually. Not to mention the inconsistency places could have without the ability to publish them all at the same time point. Packages have already made many lives easier, but there is still much room for improvement.
When I read “Update All” I had assumed that it would be identical to me going to every place manually and publishing the new package changes, thus removing the need to open every single place in my universe for the change.