Published package The_Local_Source_Of_Packages has an older metadata format. Please republish it for better version control related supports.
Since it’s cloud based, thus would be something that the current PackageLink needs to be able to differentiate to give it different behavior.
But that video effectively has demonstrated a Local Version of Packages. The Feature is right infront of us, it just needs to be implemented.
Local Packages would not have version differences. If one wants that, use Cloud Packages. Local Packages serve only for Local purposes and faster and dynamic use while retaining other Package abilities.
can you share one or more specific examples of how you would use packages with the cloud? we are working on something along the lines of CI/CD deployment and interested in your use cases to make sure its covered.
i recently found out about what packages actually did, theyre incredibly useful for experiences with multiple places so ill definitely get into them sometime…
this post really shipped packages for me, i think it wrapped the uses up pretty well!
i do mean everything i said though this post is very cool
I found out what packages are this year it’s really useful since I was working on a game what should get much places and I also use it along with stylesheets modules for systems like admin system and custom leaderboard
If Roblox could add a feature where when you publish a package it automatically publish in live experience without first publiching that place
And maybe a possibility to get an not saved version (I forget always to publish changes when made) to fetch it from the package let’s we say I. PlaceX we have a cube of 6x6x6 as in the example and then in placeY we a decal on it then next time you work on placeX bit you forget to update so we could Click getdecelopmentvetsion and we get how it is in that place what it should update itt automatically on placeY or just love syncing packages I don’t know what my other teamembers think cuz what if you break the package but now if someone will add something it conflict the package another thing could be like how files work if it’s duplicated where you manually choose the version of a file like we say scriptx is edited then overwrite it but idk what does the community think
The b3st option could be a prompt what popup and let’s you publish packages if you edited it if it’s broken you could just click no what if not update maybe you can add a note then
this thread should be named “Packages - what are they? Why arent you using them? Who even are you? Do you think you’re better than them? Are you even real?” for clarity
I’ve known about packages for a while but it would be nice to have a “sub-package” system that worked somewhat like a Git branch where when the super (original) package is updated it would not update and instead show you the differences visually and in properties. I think this should be true for packages in general to easily tell what has changed without committing it, but would be especially useful for sub-packages
For my use case, I’d like the ability to download a Package as a .rbxm (model file) and then use a tool like Lune to insert it into the .rbxl (place file) that we’re deploying to our live game.
It would also be extremely helpful to have the capability to publish updates to the Package. We use Rojo and VS Code, so whenever our asset files are added, removed, or modified, I’d like to automate this process. Ideally, we could use a Lune script to interact with the Package API and publish these changes, possibly as part of a GitHub Action workflow.
The reason for this is to maintain separation of concerns for different asset types. For example, in one game, we have separate workspaces for DEV, Environment, UI, etc., and we use Packages to sync and share assets between these workspaces.
Having access to the Package API for downloading, creating, and updating (publishing) would make this process much easier and more efficient. We would continue using Packages to share assets between workspaces as static backups, to sync in Studio, and to insert the latest updates during runtime.
Adding a Cloud API for these functions would provide an additional layer of automation and improve our workflow significantly.
I also acknowledge that nested Packages are buggy so I always avoid it
I’d use Package API to do automated changes within my game, for example a Reusable Base Package, upon change I can use Lune to find all with a given tag then replace them with the newest version
Why package sometimes duplicate instance, we use package for ScreenGui and scripts, we use auto-update, publish to package and update to all place, maybe because team creation and different members in different place when we update?
My biggest thing with packages is that at the end of the day, they’re just models. I can’t prevent my devs from simply ungrouping them and losing all the package functionality.
This is also something that gets me too, as someone who has a game that has MANY sub places that use the same assets & game systems, having to go through all of these and re-publish just to get package changes is annoying.
I wasn’t able to reproduce the issue I experienced, but if I do, I will file a bug report.
Though I will say, I find it time consuming and annoying to have to Publish, select another package, click Update All, and then wait about 5s for the Studio to finish updating the packages. I wish there was an option that allowed me to Publish & Update All with one or two clicks (depending whether the confirmation modal is enabled), and it should take less than a second.
I really wish nested packages functioned as you would expect.
You can’t change the AutoUpdate property of nested packages, and if it’s set to true, it still doesn’t auto update. You’ll have to manually get the latest package (without an issue) instead. As an added bonus, it’s hard to find these packages that need to be auto updated because the icon doesn’t show if the package was collapsed in the explorer. Not even a plugin can fix this because PackageLink properties are not scriptable!
Wally + VSC may be the solution to this problem, but this is not builtin… and I’m not a fan of VSC + Roblox because of how it overcomplicates game development.
Please consider fixing this (one of many) problems with packages!
Syncing aside, one of the things about Packages that I seem to not understand is how engine replicates them. Say, we have a tree which consists of 10 Parts, and the game is about exploring forest. As you would expect, there would a lot of trees in the forest, thus there will be a lot of Parts that has to be loaded on to clients. Since I believe engine handles Packages same as normal Models, clients will load all 10 Parts for each tree in the forest, which doesn’t make any sense bc these trees are all the same; instead it should load Model's rotation and position values, lock Parts’ properties and their relative position and rotation values. In my mind, my take makes sense, but as far as I can think of it, Meshes are actually better for this task - engine will download texture, model, etc. only once, and Mesh is a single instance, which theoretically requires way less resources when used in larger quantaties.
But I found a use for Packages, I have some basic functions (usually related to math) stored in a ModuleScript that may be used in different games (or in empty templates to quickly add some functionality to it). But for models? Nah, I would rather use meshes
I like packages, i’ve been using them for a few years now. Really handy and they allow you to update your games more quickly and efficiently. Sort of…
I just cannot stand how long mass-updating takes. In a game with a dozen places, mass-updating one single package becomes frustrating. It takes literal minutes for me, and I have to do it for multiple packages. Rather than doing that i’ve just decided to enter every place manually and use the get latest version button. Takes only ~10-20 seconds per place, but still not a very efficient method. I assumed it was because Roblox also saves the place after updating the package, but that’s not the case cause it still takes just a few seconds for me to save a place, making a manual update overall faster than a mass update.
Besides that, mass updating allows you to update only one package at a time, and in a game with multiple packages it turns into a problem very quickly. It’d be amazing if there was a specific menu that allows you to pick not just the places, but also which packages to mass update. Imagine you have 5 types of trees and all of those tree models are packages: now imagine having to mass-update every type singularly and between different places.
The icing on the cake would be the possibility to mass publish places: mass-updating packages and then mass-updating places would be a massive improvement when it comes to pushing out experience updates. It’d make everything so much more efficient (than it already is). Could be added as an option to the menu idea mentioned above.
If any of these features are planned please let me know (and maybe link a page where I can see the roadmap for packages if it exists)
Other than these complaints, I love packages so far and I hope to see them evolve more in the future
Ran into the same problem.
Except when i used the mass update feature, it literally just crashed my studio as the game has over 100 places (keep in mind this was some time ago; i’m not sure if it will do the same now)
then there’s updating every place…
I ended up just using InsertService
now i only need to publish an update to the asset, and boom. No need to manually update every place
Packages are crying out for asset-like functionality, where at runtime the server can fetch the latest version. For users that need it, pushing a package update in one place should seamlessly update all instances that are “subscribed to latest”, without having to publish a DataModel update.
The issues with nested packages and mass updates are avoidable. Really hope this gets a second look.
Inconsistent content between the local version and the cloud version:
The local version and the cloud version of the package can become inconsistent without any warning. When copying or syncing, it uses the cloud version, which might not match the local version.(Local version has already used publish to package)
Loss of the PackageLink component during synchronization:
During synchronization, the PackageLink component sometimes disappears, and the package turns into a regular folder. This issue seems more likely to occur with packages containing Model objects.
Scripts disappearing from the package:
Scripts within a package can disappear unexpectedly. This was recently encountered, but rolling back to a previous version and then retrieving the latest package helped recover the scripts.
Duplicated content within the package:
Occasionally, packages may create duplicate copies of their content. This is an old issue and can be resolved using a deduplication plugin.
Additionally, due to special circumstances, our team members are all using VPNs to access Roblox Studio. When publishing to packages, it consumes excessive upload bandwidth, which affects usability.