Introduction
What MicroStudio is and the shape of a workflow.
Introduction
MicroStudio is a local, headless Roblox development runtime. It runs Roblox Luau on your machine, without Roblox Studio and without the Roblox client.
Nothing is emulated, stubbed or mocked away: a real Luau VM executes the real compiled output, and the runtime is deterministic enough to assert on.
Three ways to use it
- As an interpreter. Like
nodeorpython, with no project and no configuration. Run a Luau file or start a prompt, andInstance.new,game,workspace,Players, the datatypes andtaskare already there. - As your project's runtime. Point it at a roblox-ts + Rojo project and it loads the compiled Luau into a live DataModel and runs the server scripts.
- As a test runner.
microstudio testfinds your specs, gives each file its own world, and reports failures with the file, the line and the call chain. Specs are Luau, or TypeScript in a roblox-ts project — those are compiled by the project's ownrbxtscfirst.
The pipeline
src/*.ts --rbxtsc--> out/*.luau --Rojo--> DataModel --MicroStudio--> your code, runningroblox-ts compiles your TypeScript to Luau, Rojo says where that Luau lives in the tree, MicroStudio materialises the tree as a live DataModel and executes it. The Rojo project file is the source of truth for paths, so mount points are never guessed.
What it is not
- Not Roblox Studio. There is no editor, no viewport and no tooling UI.
- Not the Roblox client. There is no rendering and no input.
LocalScripts are placed in the tree but never executed. - Not a physics engine. Parts hold geometry and properties; they do not move or collide, and there is no replication or streaming.
Services exist and behave locally, where that is possible: see Simulated services for exactly what each one does, and Compatibility for every known deviation from Roblox.
Requirements
An installed MicroStudio needs Node, and nothing else. Building this repository needs Rust as well.
| Tool | Version | Notes |
|---|---|---|
| Node.js | 22.18+ | required to run MicroStudio; Node strips TypeScript natively, so there is no build step |
| Rust | 1.88+ | only to build the sidecar; an npm install ships a prebuilt one |
| roblox-ts | any | only needed to compile your project |
| Rojo | any | only the project file format is read; the Rojo binary is not required |
| Roblox Studio | none | that is the point |
Next steps
Install the CLI and get a prebuilt runtime sidecar for your platform.
QuickstartRun three lines of Luau, then boot the bundled example project.
Writing testsThe Luau spec DSL, matchers, isolation and the test CLI.
PlaygroundCompile roblox-ts to Luau in the browser, without installing anything.