Write Roblox Games with TypeScript.

import { CollectionService } from "rbx-services";

CollectionService.GetTagged("Lava").forEach(obj => {
  if (obj instanceof BasePart) {
    obj.Touched.Connect(part => {
      const character = part.Parent as Model;
      const humanoid =
      if (humanoid) {

Enter Type Safety

protected name?: string

Catch a large class of errors immediately as you type them instead of 30 seconds after you hit Play. Get intelligent autocompletion for parameter types for the Roblox API and your own code. Refactor with confidence and get rudimentary documentation for free.

Static types will guide your development and save you immense amounts of time. You'll never want to go back.

Modern Syntax

x.filter(i => i > 5).map(i => i * 2)

Lua is simple. That's great for beginners, but not for people who want to get stuff done. TypeScript rocks an elegant and modern feature set with a tool for every job.

Arrow functions, object destructuring, functional data manipulation, and proper OOP structures is just a handful of what TypeScript has to offer.

Unparalleled Tooling

const unused = { name

Instantly have access to the development tools that millions of professionals use every day. Insightful static analysis with VS Code, intelligent linting from TSLint, and backed by a real package manager with versioned dependencies.

Welcome to the present.