ShotScript

Luau with a thin layer on top: classes, modules and interfaces you can read at a glance, compiled to plain, strictly typed Luau.

Write Roblox games and tools that run on your computer in one language with one checker: shot check reports every mistake at its line before anything runs.

Project kinds

The language

New

Appends keep every line19 Oct 2026New

Writes and appends to one file started at once now take turns, so every line lands, in the order it was written.

Edit the header19 Oct 2026New

shot show, shot edit and shot write work on a project's .shotsystem header, so you can change its export line.

Interface changes caught19 Oct 2026New

A project records the interfaces it uses; when one changes, shot check shows the difference and shot external accept takes it.

Projects that use projects19 Oct 2026New

use external "Bank.shotsystem" brings in another project's export, root names your own project's root, and shot check types both.

Checked services19 Oct 2026New

Code using a service is checked against it, by shot check and as you type: a misspelt member is an error at its line.

Everything new in Language, Roblox projects, System projects.

Up and coming

  • One editor for every project: the ShotScript Editor, one project at a time.
  • Every project gets a kind, Roblox, System or Generic, chosen at shot new and shown in the editor.
  • Generic projects use other Generic projects, System projects use System and Generic ones, and Roblox projects use Roblox and Generic ones. shot check names any other use in one line.
  • shot convert turns plain Luau into ShotScript.