Roblox Studio Script Sync: Setup, Git Basics, and Rojo Comparison
Posted: Sun Jul 19, 2026 12:41 pm
Roblox Studio Script Sync synchronizes supported Studio instances with Luau files on a local disk. Changes flow in both directions: edits made on disk are applied in Studio, and Studio edits are written to disk. Roblox announced the feature's full release on June 17, 2026.
Supported instances and file mappings
Script Sync supports four instance classes:
Script Sync uses these default mappings:
Script names must be compatible with the local filesystem. Duplicate sibling names or unsupported characters cause Studio to report an error that must be resolved before synchronization resumes.
Set up Script Sync
For VS Code, Roblox recommends installing both the Luau Language Server extension and its companion Studio plugin. The companion provides Studio data-model information to the language server.
Conflicts and Team Create
When Studio and disk differ as synchronization starts or resumes, Script Sync displays a resolution dialog. It lists scripts that would be added, modified, or deleted on each side before offering Keep Studio and Keep Disk.
The default Resume conflicted sync on place open setting is Do not resume, which requires manual conflict resolution. Studio can instead be configured to prefer the disk version or the Studio version.
Script Sync works with Team Create and displays an Explorer indicator when a collaborator is synchronizing an instance. Roblox warns that collaborators who synchronize and externally edit the same script at the same time can overwrite one another's changes.
Use Git with synchronized files
Script Sync handles file synchronization, not version control. Roblox states that version-control systems such as Git can be used with the files it writes to disk.
A basic Git sequence is:
For later changes, Git documents these review commands:
git status provides a summary of repository state. git diff shows working-tree changes that have not been staged, while git diff --cached shows differences between the index and the last commit. git commit records a new repository version from staged content.
Delete synchronized roots correctly
Deleting a top-level synchronized instance directly from disk can cause Studio to report an error. Roblox documents this procedure for deleting a synchronization root:
Script Sync versus Rojo
Roblox describes Script Sync as a good fit when code should be edited or versioned externally while the rest of the project remains managed in Studio. Roblox recommends a third-party tool such as Rojo when the filesystem should be the project's source of truth or the entire project must be represented in version control.
Rojo projects use .project.json files. Their instance descriptions can define an instance tree, filesystem paths, classes, and properties. Rojo can build XML (.rbxlx) or binary (.rbxl) place files with rojo build, and its server-and-plugin workflow can live-sync project files into Studio.
In short, Script Sync serves a Studio-managed, code-focused workflow. Rojo serves a filesystem-first workflow that can describe and build a broader Roblox instance tree.
Supported instances and file mappings
Script Sync supports four instance classes:
- Script
- LocalScript
- ModuleScript
- Folder
Script Sync uses these default mappings:
| File or directory on disk | Studio instance |
|---|---|
| name.luau | ModuleScript |
| name.server.luau | Script with server RunContext |
| name.client.luau | Script with client RunContext |
| name.local.luau | LocalScript |
| name.legacy.luau | Script with legacy RunContext |
| name.plugin.luau | Script with plugin RunContext |
| name/ | Folder |
| name/init.*.luau | A script named name that contains children |
Set up Script Sync
- Select one or more folders in Studio's Explorer.
- Right-click the selection and choose Sync to….
- Choose or create a local directory.
- Right-click the folder again and choose Script Sync → Reveal in Explorer on Windows or Reveal in Finder on macOS.
- Open the directory in an external editor.
For VS Code, Roblox recommends installing both the Luau Language Server extension and its companion Studio plugin. The companion provides Studio data-model information to the language server.
Conflicts and Team Create
When Studio and disk differ as synchronization starts or resumes, Script Sync displays a resolution dialog. It lists scripts that would be added, modified, or deleted on each side before offering Keep Studio and Keep Disk.
The default Resume conflicted sync on place open setting is Do not resume, which requires manual conflict resolution. Studio can instead be configured to prefer the disk version or the Studio version.
Script Sync works with Team Create and displays an Explorer indicator when a collaborator is synchronizing an instance. Roblox warns that collaborators who synchronize and externally edit the same script at the same time can overwrite one another's changes.
Use Git with synchronized files
Script Sync handles file synchronization, not version control. Roblox states that version-control systems such as Git can be used with the files it writes to disk.
A basic Git sequence is:
Code: Select all
git init
git add .
git commitCode: Select all
git status
git diff
git diff --cachedDelete synchronized roots correctly
Deleting a top-level synchronized instance directly from disk can cause Studio to report an error. Roblox documents this procedure for deleting a synchronization root:
- In Studio, right-click the synchronized script or folder.
- Choose Script Sync → Stop Sync.
- Select the option to delete the corresponding file or folder from disk.
- Delete the script or folder in Studio.
Script Sync versus Rojo
Roblox describes Script Sync as a good fit when code should be edited or versioned externally while the rest of the project remains managed in Studio. Roblox recommends a third-party tool such as Rojo when the filesystem should be the project's source of truth or the entire project must be represented in version control.
Rojo projects use .project.json files. Their instance descriptions can define an instance tree, filesystem paths, classes, and properties. Rojo can build XML (.rbxlx) or binary (.rbxl) place files with rojo build, and its server-and-plugin workflow can live-sync project files into Studio.
In short, Script Sync serves a Studio-managed, code-focused workflow. Rojo serves a filesystem-first workflow that can describe and build a broader Roblox instance tree.