A little bit of context, I create ROBLOX assets and sell them online to customers, but a major problem I get is that for some of my projects, I use modules to help my code such as TopbarPlus to create UI, however obviously these modules update from time-to-time and break often therefore I’ve been looking into PackageLinks to create ease for my customers and contain less scripts within my product files.
Would there be a way for a single script to obtain these modules and require them instead of having the customer place the module within their game?
I know of stuff like require(12345678) but it would mean having to overwrite a model file.
If you know a better way around this, please let me know!
Scripts cannot materialize Packages as they’re intended for developer operations in Studio. Packages are applicable in your product/asset system if you’d like an update system where customers may manually or automatically fetch new versions in Studio and utilize in a new version of their game. If you already provide updates by sending customers .rbxm files or similar, Packages definitely excel when replacing that workflow.
For your use case, it’d be most beneficial for you to insert, group and fork all third-party modules into a public collection asset that your product/asset can easily insert and require from. Make sure that none of the forked modules require IDs themselves, instead requiring a copy you’ve also provided in that public collection. This collection asset will be publicly loadable, but it is only a frozen-in-time collection of the third-party modules. Make sure to enforce a specific version when inserting this collection asset and change that when you’re updating your product/asset with the new versions of the third-party modules.