NEW Console streaming fix + update command Jan 9

Sync Scripts Models GUIs Sounds Everything to Git.
The sync tool that should have been.

One-click extraction. Two-way sync for all instance types.
Native AI integration & E2E testing. Zero setup.

Get Started FREE BETA View on GitHub
VS Code VS Code
Roblox Studio Roblox Studio

Professional Sync for Professional Teams

One Source of Truth

Everyone syncs from Git. No more passing around .rbxl files. No more asking "is this the latest version?" Code review your game changes. Branch and merge like real software.

Full Property Extraction

Captures ALL properties using Roblox API dump reflection. Parts, MeshParts, Attachments, Scripts. Every class, every property.

True Two-Way Sync

Edit in Studio, changes appear in files. Edit in VS Code, changes appear in Studio. Real-time, automatic, bidirectional.

Multi-Studio Sessions

Run multiple Studio instances, each synced to different projects simultaneously.

Console Streaming

See print(), warn(), and error() output in your terminal.

Build to .rbxl/.rbxm

Build place or model files from your project. Watch mode auto-rebuilds.

Sourcemap Generation

Generate sourcemap.json for Luau LSP. Full IntelliSense in VS Code.

MCP Integration

AI agents can read, write, and test your game through MCP.

E2E Testing

Run live playtests from CLI. Capture console output for verification.

One Click. Game → Git Repo.

No other sync tool can do this. Open any existing Roblox game in Studio, click Extract, and your entire game becomes version-controlled files. 10,000 instances? 50,000? Doesn't matter. Every property captured perfectly in .rbxjson format.

1
Open any game in Roblox Studio
2
Click Extract. That's it
3
Push to GitHub, start collaborating
Roblox Studio

YourGame.rbxl

10,000+ instances

Workspace/ ServerScriptService/ ReplicatedStorage/ StarterGui/ .rbxjson .luau
Demo Coming Soon Watch AI build entire games autonomously

End-to-End Testing Mode

Let AI agents write code, run playtests, see console output, fix errors, and iterate. All without human intervention. RbxSync's E2E testing mode streams print(), warn(), and error() output directly to your terminal or MCP-connected AI agent.

Real-time console streaming to terminal
MCP tools for AI agent integration
Execute Luau code remotely in Studio
Run playtests and capture output
Autonomous debug → fix → test loops

Full Property Preservation with .rbxjson

Scripts are plain .luau files with naming conventions (MyScript.server.luau, MyScript.client.luau).

Non-script instances use .rbxjson, a JSON format with explicit types that preserves every property exactly as Roblox defines it. No data loss. No approximations.

Part Frame Sound Model ScreenGui TextLabel MeshPart Attachment

Click a class above to see its template →

Baseplate.rbxjson
{
  "className": "Part",
  "properties": {
    "Anchored": {
      "type": "bool",
      "value": true
    },
    "Size": {
      "type": "Vector3",
      "value": { "x": 512, "y": 20, "z": 512 }
    },
    "Material": {
      "type": "Enum",
      "value": { "enumType": "Material", "value": "Grass" }
    }
  }
}

How RbxSync Compares

See how we stack up against other sync tools.

RbxSync

Everything, out of the box

Two-way sync
One-click game extraction
Full property preservation
AI integration (MCP)
E2E testing from CLI

Rojo

Industry standard

Two-way sync ⚙️
One-click game extraction ⚙️
Full property preservation
AI integration (MCP)
E2E testing from CLI

Argon

Two-way sync

Two-way sync
One-click game extraction
Full property preservation
AI integration (MCP)
E2E testing from CLI
Native support
⚙️ Requires setup
Partial
Not available

Why .rbxjson?

A format designed for real-world workflows.

RbxSync (.rbxjson)

{
  "className": "Part",
  "properties": {
    "Size": {
      "type": "Vector3",
      "value": { "x": 4, "y": 1, "z": 2 }
    },
    "Anchored": {
      "type": "bool",
      "value": true
    }
  }
}
  • + Clean Git diffs - see exactly what changed
  • + Explicit types - no ambiguity
  • + AI/LLM readable - agents can parse and modify
  • + Human editable - fix properties by hand if needed

Traditional (.rbxmx / XML)

<Item class="Part">
  <Properties>
    <Vector3 name="Size">
      <X>4</X>
      <Y>1</Y>
      <Z>2</Z>
    </Vector3>
    <bool name="Anchored">true</bool>
  </Properties>
</Item>
  • - Verbose - more lines for same data
  • - Noisy diffs - hard to review in PRs
  • - Harder for AI to parse reliably
  • - Error-prone manual editing

Command Reference

Everything you need from initialization to deployment.

rbxsync - Terminal
Core Commands
$
rbxsync init --name NAME
Initialize a new RbxSync project
$
rbxsync serve
Start sync server (connects to Studio plugin)
$
rbxsync stop
Stop the running sync server
$
rbxsync extract
Extract game from connected Studio to files
$
rbxsync sync
Push local changes to connected Studio
$
rbxsync diff
Show changes between local and Studio
$
rbxsync studio --serve
Launch Roblox Studio with sync server
$
rbxsync status
Show sync status and connection health
🔧 Utility Commands
$
rbxsync sourcemap
Generate sourcemap.json for Luau LSP
$
rbxsync fmt-project
Format .rbxjson files consistently
$
rbxsync doc
Open documentation in browser
$
rbxsync plugin install NAME
Install a plugin to Studio
$
rbxsync plugin uninstall NAME
Remove a plugin from Studio
$
rbxsync plugin list
List installed Studio plugins
$
rbxsync update
Pull latest and rebuild CLI/plugin
$
rbxsync version
Display CLI version info
📦 Build Commands
$
rbxsync build -f rbxl
Build .rbxl, .rbxm, .rbxlx, or .rbxmx
$
rbxsync build --watch
Watch for changes and auto-rebuild
$
rbxsync build --plugin NAME
Output directly to Studio plugins folder
$
rbxsync build-plugin --install
Build and install RbxSync Studio plugin
🚀 E2E Testing
$
rbxsync debug start --mode run
Start live playtest with console streaming
$
rbxsync debug start --mode play
Start solo playtest (like F5 in Studio)
$
rbxsync debug start --mode server
Start server simulation test
$
rbxsync debug stop
Stop current playtest session
$
rbxsync debug status
Check if playtest is running
Live Demo
$
RbxSync server listening on port 44755
Studio connected (session active)
[watch] File changed: src/PlayerController.luau
Pushed to Studio

Installation Guide

Up and running in minutes with a few simple commands.

0

Prerequisites

Install the required tools before building:

# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# For VS Code extension: Install Node.js from https://nodejs.org
# Then verify:
node --version
npm --version
1

Build from Source

Clone the repository and build with Cargo.

# Clone and build
git clone https://github.com/devmarissa/rbxsync
cd rbxsync
cargo build --release

# Add to PATH (optional)
cp target/release/rbxsync /usr/local/bin/
2

Install Studio Plugin

Build and install the Roblox Studio plugin.

rbxsync build-plugin --install

# Or manually: the plugin will be at
# ~/Documents/Roblox/Plugins/RbxSync.rbxm
3

Install VS Code Extension (Optional)

For the best experience, install the VS Code extension.

# Build the extension
cd rbxsync-vscode
npm install
npm run build
npm run package

# Install the .vsix file (pick one):

# Option 1: VS Code UI (Recommended)
# 1. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Win)
# 2. Type "Extensions: Install from VSIX"
# 3. Select rbxsync-1.0.0.vsix from the file picker

# Option 2: Command line (requires 'code' in PATH)
# If 'code' not found: In VS Code, press Cmd+Shift+P
# and run "Shell Command: Install 'code' command in PATH"
code --install-extension rbxsync-1.0.0.vsix
4

Initialize Project

Create a new project or use an existing directory.

rbxsync init --name MyGame
rbxsync serve
5

Connect Studio

Open Roblox Studio and restart it to load the plugin:

# 1. Restart Roblox Studio to load the plugin
# 2. Go to View menu → click "RbxSync" to open the widget
# 3. In the widget, enter your project's full path:
# Mac: /Users/yourname/MyGame
# Win: C:\Users\yourname\MyGame
# 4. Click "Connect" - status should turn green
# 5. Enable HttpService: Game Settings → Security → Allow HTTP Requests

Updating RbxSync

One command to pull the latest fixes and rebuild everything.

1

Run the Update Command

From anywhere on your system, run:

rbxsync update

# This will:
# 1. Pull latest changes from GitHub
# 2. Rebuild the CLI
# 3. Rebuild and install the Studio plugin
2

Restart Roblox Studio

Close and reopen Studio to load the updated plugin. That's it!

+

VS Code Extension (Optional)

If you use the VS Code extension:

rbxsync update --vscode
code --install-extension rbxsync-vscode/rbxsync-1.0.0.vsix

# Then restart VS Code

What Developers Are Saying

Velibor
Velibor

Really enjoying it so far..

Jan 9, 2026
The_Pr0fessor
The_Pr0fessor

actually raw

Jan 8, 2026
Vexture
Vexture

wow yeah that is cool

Jan 7, 2026
MicroK
MicroK

w?

Jan 9, 2026
fifo
fifo

The MCP integration changes everything for AI-assisted dev

Jan 9, 2026