Sunsetting LinkedSource Scripts

Hey Developers,

Traditionally, LinkedSource Scripts have been the only way to update scripts across a Game. In Q4 of 2018, we released Packages. Packages are designed to allow you to create an asset once and use it anywhere. Recently, we released mass updating, auto-updating and soon sharing functionality to Packages which will effectively make LinkedSource Scripts an obsolete feature. By removing LinkedSource Scripts, we will be able to focus more on the core Packages experience which provides much greater functionality and usability.

When?

This is now complete.

We will be removing the creation point for LinkedSource Scripts at the beginning of August '19. We will update this post when we have made this change.

I have LinkedSource Scripts, what happens to them?

We are not removing the feature completely, but you will no longer be able to create new LinkedSource Scripts. This means if you have pre-existing LinkedSource Scripts you will be able to continue using and updating them. We implore you to convert these over to Packages for a better and more reliable experience if you have the opportunity to do so.

If there are use cases that are not covered by Packages, but are covered by LinkedSource Scripts please post below so that we can look into adding them to the Packages roadmap.

Packages Information

Packages Phase 1 DevForum Post


Packages Phase 2 DevForum Post

Packages DevHub Article
https://developer.roblox.com/articles/roblox-packages

72 Likes

End of a weird linked era, but honestly for the better. I think Packages have made working with stuff across places much more intuitive and standardised, especially in my own work whenever I’ve had to use linked scripts (quite common actually!). Thanks for the heads up, and goodbye LinkedSources, old friend :wave:

18 Likes

This is a good change as linked sources were becoming a thing of the past. I looking forward to the bright future of packages.

1 Like

I still have no clue what packages are and what their use is for scripting (I’ll be looking into them tonight), but good update, no one has really used linked scripts in the past 5 years :man_shrugging:

5 Likes

Packages are uncomparatively more powerful than LinkedSource scripts as well as more maintainable. I am glad to see that this feature is being sunsetted and hopefully this means that packages will receive more attention as far as game assets go.

I can’t even remember a time where I unironically used LinkedSource scripts. They never seem like they had any use for me. They just transferred code so long as you remembered to set things up the same in another place. Packages take care of the hierarchy and more for you.

4 Likes

Ah, yes. Back in good old ‘19, we didn’t have any of them fancy quadratic robodogs. Now get off my lawn!

But for real, I’m not surprised by this. I never used LinkedSources after one of my scripts got seemingly corrupted by them like 3 years ago. I also didn’t like how scripts using them were limited to one game.

I’m still hesitant to use packages for the same reasons. I think I’ll continue to rely on my mad programming skillz and the command bar to mass-update assets in my game.

8 Likes

Have been using them in majority of my games if they have multiple places, but after the addition of packages I really just see Linked Sources but now supporting more then scripts!

1 Like

Oh, a good change. Linked scripts have always been a sometimes use sometimes hate kind of thing. But I don’t know about anyone else, but I’m sure it’s not just me. Linked scripts have been feeling obsolete for a few years now.

1 Like

Sweeeet dude.

I hated LinkedScripts, they were horribly inefficient and resulted in a clutter of errors.

However, some roblox free weapons, such as “LinkedSword” have linked scripts. Will they be yeeted as well?

2 Likes

One cool thing you were able to do with LinkedSources (Not sure if this was intended or not) was to actually save raw data into the LinkedSource Script and load it in game like a mesh Id or a texture. It was always cool to use these in this way because you could update mesh data on the fly without having to change all the asset ID’s. It was seldom I needed to do this, but was certainly a good option to have and really the last reason to use the legacy mesh format.

In addition to this, you could use them to encrypt data. If a script needed a string of characters like an authentication key or something, the code didn’t have to actually compile, you could just get the raw script data by loading the path of the Linked source into another script, without the unnecessary XML Data.

I liked the freedom of LinkedSources because I thought it was a “loophole” for developers to have more freedom over their assets and escape the “ecosystem” of roblox, and get super creative and out of the box. Even things like storing your own XML data and serialized models in linked sources was theoretically possible, just not widespread. I’m sure if any of this was unintended in the first place, it’ll probably get patched but I guess it doesn’t rly matter since it’s getting sunsetted anyways.

Packages are lit though I’ll certainly be using those quite often haha.

8 Likes

I am very sad to see such an old feature of Roblox being removed like this :c iirc LinkedSource existed before ModuleScripts

One bad thing about Packages is that you are unable to delete them unlike LinkedSource Scripts. When creating a Package it will be listed as owned by the creator even though it was created under a group game.

Packages still need some more work imo…

4 Likes

Packages also require a part and more instances than a LinkedSource script. Making them harder for simple scripts, or mass use in a/multiple game(s).

5 Likes

LinkedSources were very useful if I had to push a “quick fix” to my place, i.e. change a single line of code. I could just update the LinkedSource without republishing the entire place (keeping the same “Last Updated” date in the place’s info).

Can someone tell me if you can do the same with packages? I haven’t checked them out yet.

2 Likes

Packages now have autoupdating functionality, updating the package means it will automatically update everywhere else it is used.

1 Like

Will there be anything like private packages in the future? LinkedSource seemed like a great feature to share code across different places without having to copy-paste every single script; However since packages are “public” isn’t that a concern for those of us that would like to share scripts between places without exposing our scripts for everyone to download?

2 Likes

Packages can be private- don’t let others copy the package.

I believe proper permissions will be coming to packages soon.

1 Like

I avoided using LinkedSource scripts to avoid cluttering my asset inventory, so I don’t mind it being removed. The concept was cool, but it makes sense to remove an obsolete and underused feature.

If developers who depend on it want to replicate the behavior, they can either make another script that uses InsertService to update the scripts, or use packages.

4 Likes

LinkedSources should stay alongside Packages.

LinkedSources, unlike Packages, actually update without having to open up each place that has them and updating them, which is an extremely tedious process when you have an upwards of 30+ maps in your game.

Packages still lack a core functionality that makes LinkedSources superior to them.

After mass updating a package, that is in both places within my game:

Place that wasn’t opened:

Place where the package was updated and “mass updated:”

So yes, Packages, while they are a powerful tool, are kinda redundant due to the simple fact you have to open a place that contains said package, just to update it.

So overall, LinkedSources should stay and be able to be Created / Updated / Removed on the fly.

12 Likes

If the script is embedded, it means its not a linked source, correct?

1 Like

Yes. [Embedded] means the source is in Script.Source, not pulled.

3 Likes