Skip to content
Ransomwave edited this page Mar 1, 2026 · 8 revisions

Azul is a two-way synchronization tool between Roblox Studio and your local filesystem.

It allows you to use professional-grade tools like Visual Studio Code in Roblox development.

Why Azul?

Because Azul takes no time to set up, it's compatible with any project (old and new) & it works with existing tools and projects.

Coming from Rojo?

Key differences between Azul and Rojo:

  • Two-Way Sync: Script changes in either Roblox Studio or your local files are reflected in the other.
  • Workflow: The instance hierarchy is defined in Roblox Studio. You organize your scripts and assets directly in Studio, and Azul will sync them to your local filesystem.
    • Azul deals away with mandatory *.meta.json files, since state is taken directly from Studio. When needed, however, Azul will serialize properties to a sourcemap.json file.
  • Project Configuration: Azul works directly out-of-the-box without needing a project configuration file, but it can be customized in Studio using Per-place Daemon Settings.
    • Azul deals away with .project.json files by syncing based on the instance hierarchy in Roblox Studio. Unlike Rojo, which maps to arbitrary folders (i.e. shared/, server/, client/) that may vary project-to-project.
  • Conventions: Azul keeps similar conventions to Rojo, but with some differences.
    • Azul does not use the init.luau convention. Instead, it keeps script names intact and uses Folders to mimic nested Scripts.
    • While disabled by default, Azul can be configured to use the *.module.luau suffix for ModuleScripts.
    • By default, Azul syncs to a ./sync folder.
    • More info on conventions in the Sync Details section.

Clone this wiki locally