As a Roblox developer, it is currently too hard to use the same set of utilities, models, or scripts across multiple places and games.
A LinkedFolder
overwrites its contents with those from a model on the website when the game loads. This allows multiple places and games to have the same assets, models, or scripts, which update whenever the model on the website updates.
Studio Interface
LinkedFolder
s will have properties panel buttons and context menu options to update their contents globally:
- With a new
LinkedFolder
, this will set it up for syncing with a new model on the website - With an existing
LinkedFolder
, this will update the existing model on the website
When creating a new LinkedFolder
, you just insert like a normal Folder
, add your contents, and press “upload”. From then on, the LinkedFolder
and any copies will get updated to the newest version from the website when the game loads, and updates can be published to the website with one click.
API Example
LinkedFolder
-
AssetId
: TheLinkedFolder
will download the children of theLinkedFolder
atAssetId
when the game loads -
Updates
: Iffalse
, the folder will not download contents from the website, and its contents will not be overwritten when the game loads. -
:UpdateContents()
: A method to download a newer version from the website. Returnstrue
if updated, andfalse
if no changes were made. -
:GetNewestAssetVersionId()
: Returns the newest version id, to compare with the current version id -
AssetVersionId
: A read-only property with the AssetVersionId of the currently-downloaded model -
Loaded
: A read-only property to check if the model has been downloaded
Other details
LinkedFolder
s will be synced by the server in live games. LinkedFolder
s will allow downloading of the game owner’s models, or public models.
I see this as a much cleaner and more flexible solution to the problems addressed by GameStorage
:
-
LinkedFolder
s are not tied to Games, so developers can save and work on projects locally - It solves the synchronization weirdness with
GameStorage
. TheLinkedFolder
s update at specific times and only have updates when a new version of the model is published. -
LinkedFolder
s allow developers to control if the linked instances stay on the server or replicate to clients, depending on where theLinkedFolder
is parented. - It allows for publicly share-able, update-able models.
- Developers are able to use the same set of utilities in multiple games, too, instead of just within one game.
If Roblox is able to address this issue, I would find it much easier to manage both projects with multiple places and my set of projects as a whole. All of my projects share some utilities that I sometimes find bugs in and need to update, and multi-place projects usually all share a base set of code that should be easy to update all-at-once.