Roact brings declarative, component-based UI development to Roblox Lua. Inspired by Facebook’s React, it lets you describe your UI as a function of state — Roact handles creating and updating the underlying Roblox Instances efficiently through a virtual tree reconciliation process.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.
Installation
Install Roact via model file or the filesystem, and get it into your project
Hello, Roact!
Write your first Roact component and mount it to the PlayerGui
Core Concepts
Learn about elements, components, state, lifecycle methods, and events
API Reference
Complete reference for every function, component, and constant Roact exposes
Why Roact?
Roact makes it dramatically simpler to build and maintain complex Roblox UIs by applying the same declarative patterns that make React productive on the web.Declarative UI
Describe what your UI should look like — Roact figures out how to make it happen. No more manual Instance management.
Component-Based
Encapsulate UI logic into reusable components. Compose them together to build full-featured interfaces.
Efficient Reconciliation
Roact’s reconciler diffs virtual trees and makes only the minimal necessary changes to real Roblox Instances.
React-Familiar API
If you know React, you already know most of Roact. Components, props, state, lifecycle, context — it’s all here.
Quick Example
LocalScript
Get Started
Install Roact
Download the
.rbxm model from the GitHub releases page and place it in ReplicatedStorage, or copy the src directory into your project and sync it with Rojo.Create elements and mount
Use
Roact.createElement to build a virtual tree, then Roact.mount to turn it into real Roblox Instances.Roact is inspired by React but is not a direct port — some behaviors differ. This documentation covers Roact’s specific API and Roblox-specific patterns.