Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Roblox/roact/llms.txt
Use this file to discover all available pages before exploring further.
Roact is distributed in three ways: as a .rbxm model file you drop straight into Roblox Studio, as plain source files you sync in with Rojo, or as a Wally package. All three methods end up with the same Roact module available in your game. The examples throughout this documentation assume Roact lives in ReplicatedStorage, but you can install it anywhere that makes sense for your project structure.
Choose an installation method
Model File (Studio)
Filesystem with Rojo
Wally Package Manager
The model file method is the quickest way to get started if you’re working directly inside Roblox Studio without a local filesystem workflow.Insert the model into Studio
In Roblox Studio, right-click on ReplicatedStorage in the Explorer panel and choose Insert from File…. Select the .rbxm file you just downloaded. You should see a Roact folder appear inside ReplicatedStorage.
Require Roact in a script
With the module in place, you can require it from any script:local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact = require(ReplicatedStorage.Roact)
You can install Roact into any container — ServerScriptService, StarterPlayerScripts, or even game itself. ReplicatedStorage is the most common choice because it is accessible from both server and client scripts.
If you manage your project’s source files on disk and sync them into Studio with Rojo, copy the Roact source directly into your repository.Copy the source directory
Clone or download the Roact repository, then copy the src directory into your own project’s source tree.my-project/
└── src/
└── ReplicatedStorage/
└── Roact/ ← paste the contents of roact/src here
Rename the folder to Roact
The copied directory must be named Roact (capital R) so that require(ReplicatedStorage.Roact) resolves correctly after Rojo syncs it.
Sync into Studio with Rojo
Run rojo serve (or rojo build) as normal. After syncing, a Roact ModuleScript folder will appear in ReplicatedStorage in Studio.
Require Roact in a script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Roact = require(ReplicatedStorage.Roact)
Wally is a package manager for Roblox projects. If your project already uses Wally, add Roact as a dependency in wally.toml.Add Roact to wally.toml
Open your project’s wally.toml and add Roact under [dependencies]:[dependencies]
roact = "roblox/roact@1.4.0"
Install dependencies
Run the Wally install command in your project root:Wally will download Roact and place it in your Packages directory. Require the package
After syncing with Rojo, require Roact via the Packages folder:local Packages = game:GetService("ReplicatedStorage").Packages
local Roact = require(Packages.roact)
The Wally package name is all lowercase (roblox/roact), but the installed module may be capitalised depending on your Rojo project configuration. Check the name that appears in Studio after syncing.
Verify the installation
Once Roact is installed and synced, open the Roblox Studio Command Bar and run the following to confirm it loads without errors:
print(require(game:GetService("ReplicatedStorage").Roact))
If the output shows a table (the Roact API object) rather than an error, you’re all set. Move on to the Hello, Roact! guide to build your first component.
Roact requires Lua 5.1 / Luau (the runtime Roblox uses). It will not run in a standard Lua 5.3 or LuaJIT environment outside of Roblox Studio or the Roblox client.