Roblox Studio Script Sync: Setup, Git Basics, and Rojo Comparison
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
  • LocalScript
  • ModuleScript
  • Folder
Other instance classes inside a synced folder are ignored. Script Sync also ignores attributes and tags attached to scripts. Roblox warns that this can cause data loss when affected scripts are created or deleted or when synchronization starts from an older disk copy.

Script Sync uses these default mappings:
File or directory on diskStudio instance
name.luauModuleScript
name.server.luauScript with server RunContext
name.client.luauScript with client RunContext
name.local.luauLocalScript
name.legacy.luauScript with legacy RunContext
name.plugin.luauScript with plugin RunContext
name/Folder
name/init.*.luauA script named name that contains children
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
  1. Select one or more folders in Studio's Explorer.
  2. Right-click the selection and choose Sync to….
  3. Choose or create a local directory.
  4. Right-click the folder again and choose Script Sync → Reveal in Explorer on Windows or Reveal in Finder on macOS.
  5. Open the directory in an external editor.
Roblox recommends syncing folders rather than configuring scripts individually. Supported descendant scripts and folders then participate in create, rename, move, and delete synchronization. Studio remembers configured synchronization roots and automatically resumes them when the place is reopened.

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 commit
For later changes, Git documents these review commands:

Code: Select all

git status
git diff
git diff --cached
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:
  1. In Studio, right-click the synchronized script or folder.
  2. Choose Script Sync → Stop Sync.
  3. Select the option to delete the corresponding file or folder from disk.
  4. Delete the script or folder in Studio.
Supported child instances can be deleted from Studio or disk while synchronization remains active.

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.