Add Skill Tree to your Roblox project in one command. Requires Node 18+ and a Roblox project — run robloxui init first if you don't have one yet. See the docs.
bashnpx robloxui add skill-treeFirst time? Start with the documentation.
import { Skill Tree } from "./src/client/ui/components/skill-tree";local SkillService = require(script.Parent.SkillService)
local tree = SkillService.new({
{ id = "root", name = "Vitality", cost = 1, position = Vector2.new(220, 160), prereqs = {} },
{ id = "branch", name = "Power", cost = 2, position = Vector2.new(320, 120), prereqs = { "root" } },
}, 5)
tree:Unlock("root")Prerequisite-graph unlock system. SkillService holds nodes with cost/position/prereqs and a point pool; CanUnlock validates points + prereqs, Unlock spends points. SkillTree renders nodes at Vector2 positions with colored connector lines (drawn via rotated frames) that light up when prerequisites are satisfied. Click a node to unlock.
by RobloxUI Team
| Author | RobloxUI Team |
| Framework | Roblox-TS + React-Luau |
| Category | Systems |
| Dependencies | @rbxts/react |
| Theme Tokens |
| colors.primary, colors.primaryLight, colors.primaryDark, colors.secondary, colors.secondaryLight, colors.secondaryDark, colors.accent, colors.accentLight, colors.accentDark, colors.bg, colors.bgSecondary, colors.bgTertiary, colors.surface, colors.border, colors.borderLight, colors.glow, colors.text, colors.textPrimary, colors.textSecondary, colors.textMuted, colors.success, colors.successLight, colors.error, colors.errorLight, colors.warning, colors.info, colors.gold, colors.goldLight, gradients.primary, gradients.gold, gradients.health, gradients.mana, gradients.purple, gradients.card, gradients.surface, gradients.surfaceLight, spacing.3xs, spacing.2xs, spacing.xs, spacing.sm, spacing.md, spacing.lg, spacing.xl, radius.sm, radius.md, radius.lg, radius.xl |
| Last Updated | July 31, 2026 |