Rojo enables Roblox developers to use professional-grade software engineering tools https://rojo.space
Find a file
Joe 056d3609f7 Add two-way sync support for Ref properties and optimize related components
- Implemented two-way sync for Ref properties using `Rojo_Ref_*` attributes, enabling detection of changes in Studio and path-based encoding.
- Developed `RefPathIndex` for efficient resolution of attributes during forward sync, including handling ambiguous paths.
- Enhanced `ChangeProcessor` and `ChangeBatcher` to manage Ref property changes during live sync sessions.
- Introduced `InstanceMap:getIdByInstance` for reverse lookups and added comprehensive integration tests for various edge cases.
- Optimized CI scripts for improved parallel execution of Rust tasks.

These updates significantly enhance the synchronization system's handling of Ref properties and improve overall performance.
2026-02-14 17:20:45 -06:00
.cargo Use new Cargo config.toml convention 2021-07-12 13:19:36 -04:00
.config Add project configuration and test files in JSON5 format 2026-01-30 09:16:46 -06:00
.cursor Update audit plans and documentation for Rojo_Ref_* attributes 2026-02-14 17:00:10 -06:00
.github/workflows Enable submodule checkout in CI and release workflows 2026-02-09 23:05:37 -06:00
.vscode Update Luau LSP sourcemap setting to disable autogeneration 2026-02-14 17:03:19 -06:00
assets Add block_newline_gaps configuration to stylua.toml 2026-02-13 21:11:50 -06:00
benches Add plugin build flag (#735) 2023-07-17 19:15:40 -07:00
build/windows Support long file paths on Windows (past 256 limit) (#464) 2021-08-23 15:21:01 -04:00
crates Enhance VFS initialization and error handling 2026-02-11 20:13:02 -06:00
plugin Enhance audit documentation and address critical Ref property issues 2026-02-14 12:53:28 -06:00
rbx-dom@3cd393d73a 8.1.0 2026-02-11 02:10:23 -06:00
rojo-test Update audit plans and documentation for Rojo_Ref_* attributes 2026-02-14 17:00:10 -06:00
scripts Update audit plans and documentation for Rojo_Ref_* attributes 2026-02-14 17:00:10 -06:00
src Enhance audit documentation and improve Ref property handling 2026-02-14 15:55:24 -06:00
test-projects Improves sourcemap path handling with pathdiff 2026-02-09 23:31:44 -06:00
tests Add integration tests for Ref properties in standalone file formats 2026-02-14 16:29:02 -06:00
vscode-rojo@f18e6d4c52 Update logging levels in Rojo plugin and enhance test plans 2026-02-11 17:10:35 -06:00
.dir-locals.el Plugin dev ux improvements (#992) 2024-11-10 15:53:58 -08:00
.editorconfig Changed file extensions of init command from lua to luau (#831) 2024-01-05 16:00:49 -08:00
.git-blame-ignore-revs Create .git-blame-ignore-revs & Add Stylua pr (#787) 2023-09-19 05:56:39 +00:00
.gitattributes Set linguist language of lua files to luau (#956) 2024-08-02 10:03:57 -07:00
.gitignore Add .env to .gitignore and update dependencies 2026-02-09 22:20:33 -06:00
.gitmodules Add vscode-rojo submodule and update schemas for Atlas rebranding 2026-02-07 11:56:14 -06:00
build.rs Upgrade dependencies and refactor serialization in build.rs 2026-02-06 18:57:29 -06:00
Cargo.lock 8.2.0 2026-02-12 02:29:46 -06:00
Cargo.toml 8.2.0 2026-02-12 02:29:46 -06:00
CHANGELOG.md Add two-way sync support for Ref properties and optimize related components 2026-02-14 17:20:45 -06:00
CONTRIBUTING.md Fix a grammar error and a typo (#1113) 2025-09-16 11:00:34 -07:00
install.ps1 Add vscode-rojo installation script execution to install scripts 2026-02-08 16:30:55 -06:00
install.sh Add vscode-rojo installation script execution to install scripts 2026-02-08 16:30:55 -06:00
LICENSE.txt Tweak bottom of README, move LICENSE to LICENSE.txt 2019-01-18 20:57:19 -08:00
plugin.project.json Refactor project configuration to use .json format 2026-01-30 10:06:32 -06:00
README.md Update README to reflect new GitHub repository link 2026-02-07 13:58:59 -06:00
rokit.toml Enable luau and luau-lsp dependencies in rokit.toml 2026-02-09 18:28:43 -06:00
selene.toml Move to using Rokit, update tools, and don't install unnecessary tools (#1109) 2025-08-29 18:45:15 -07:00
testez.yml Update selene (#550) 2022-06-12 03:41:49 -04:00

Rojo
 
Actions status Latest server version Rojo Documentation

Rojo is a tool designed to enable Roblox developers to use professional-grade software engineering tools.

With Rojo, it's possible to use industry-leading tools like Visual Studio Code and Git.

Rojo is designed for power users who want to use the best tools available for building games, libraries, and plugins.

Features

Rojo enables:

  • Working on scripts and models from the filesystem, in your favorite editor
  • Versioning your game, library, or plugin using Git or another VCS
  • Streaming rbxmx and rbxm models into your game in real time
  • Packaging and deploying your project to Roblox.com from the command line

In the future, Rojo will be able to:

  • Sync instances from Roblox Studio to the filesystem
  • Automatically convert your existing game to work with Rojo
  • Import custom instances like MoonScript code

Documentation

Documentation is hosted in the rojo.space repository.

Contributing

Check out our contribution guide for detailed instructions for helping work on Rojo!

Pull requests are welcome!

Rojo supports Rust 1.88 and newer. The minimum supported version of Rust is based on the latest versions of the dependencies that Rojo has.

License

Rojo is available under the terms of the Mozilla Public License, Version 2.0. See LICENSE.txt for details.