Skip to content

Use Weave with a sync tool

Weave is designed to work with any tool that mirrors scripts between Studio and a folder on disk, and with no tool. This page gives the mapping for each.

It applies once the project has the folder map. If you work in Studio only, read Studio only and skip the rest.

Synced as filesKept in Studio
ReplicatedStorage/SharedBoth Twill modules
ReplicatedStorage/ClientAssets, in both containers
ServerScriptService/ServicesWorkspace, StarterGui
ServerScriptService/ModulesServerScriptService/README
Main and Client, where the tool can

The four synced folders hold ModuleScript and Folder instances only, and no script has a child. That is R12, and it is why one layout fits every tool below.

On disk, give each directory the name its folder has in Studio.

src
├── ReplicatedStorage
│ ├── Shared
│ └── Client
└── ServerScriptService
├── Services
├── Modules
└── Main.server.luau

The disk is the source of truth. Map each synced folder by path, and give the services no path of their own, so what you installed in Studio stays.

default.project.json
{
"name": "game",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Shared": { "$path": "src/ReplicatedStorage/Shared" },
"Client": { "$path": "src/ReplicatedStorage/Client" }
},
"ServerScriptService": {
"Main": { "$path": "src/ServerScriptService/Main.server.luau" },
"Services": { "$path": "src/ServerScriptService/Services" },
"Modules": { "$path": "src/ServerScriptService/Modules" }
},
"StarterPlayer": {
"StarterPlayerScripts": {
"$className": "StarterPlayerScripts",
"Client": { "$path": "src/StarterPlayerScripts/Client.client.luau" }
}
}
}
}

An instance made by hand inside a mapped folder is removed on the next sync. Keep models and interfaces in Assets, which is not mapped.

Argon reads a Rojo project file, so the mapping above applies. Argon also writes changes made in Studio back to disk, which creates a file for each script added there.

Studio is the source of truth, and there is no project file. Azul mirrors the place to disk as it is.

  • Leave both Twill modules out of what you edit and push. They have children, and Azul writes a script with children differently from the other tools.
  • Deleting a file on disk deletes the instance in Studio, with everything under it. Under R12 a script has nothing under it to lose.

Script Sync mirrors chosen folders. Choose the four synced folders: Shared, Client, Services, and Modules.

Main and Client sit directly in a service, so they stay in Studio. Both are a few lines long and change rarely.

Nothing to set up. Install packages from model files into Packages and ServerPackages. Team Create shares the place, and the check runs from the command bar.

When a sync tool writes in both directions, let one person run it per session. Two people who sync the same place at the same time overwrite each other, and neither is told. Everyone else works through version control or through Studio, and not through both on the same script.

Before a merge, run the check on the merged place. A merge is where a second entry point, or a script with a child, most often arrives.