Our products · SCUA
Freeze a live session mid-call. Wake it on another machine.
SCUA is a batteries-included scripting language for games and AI. A session can hibernate to a small blob in the middle of a call and wake up later, possibly on a different machine, without ever knowing it was frozen. Parked, it costs a few hundred kilobytes of storage and no compute. It reads like Lua, runs with a JIT, and ships with exact money, data tables and vector maths built in.
What it is
A small, embeddable language for state that has to survive.
Games, multiplayer backends and AI tools all spend real effort on the same thing: structured data that needs to persist. Player saves, match state, config, validated input. SCUA organises that state into partitions: self-contained blocks of memory that can be written to disk, loaded on another machine and resumed, with no serialisation code to write or maintain.
Dynamic by default, so it's quick to pick up. Ships as one small binary, embeds in C, and comes with decimals, dates, regex, data tables, an actor model and an HTTP server already in the box.
Persistence
Save and move state without writing serialisers.
A partition is position-independent bytes, so saving it is a copy and loading it on another machine costs nothing extra. Cyclic references and shared objects survive the trip, which is where hand-rolled save code usually breaks.
Types
Add types exactly where they earn their keep.
Write it untyped like any scripting language, then annotate the parts that matter for a compile-time check. Annotations are erased at runtime, so adding one can catch a bug but never changes how your code behaves.
Sandboxing
Run mods, plugins and agent scripts safely.
There is no ambient I/O. A script can't touch the filesystem, network or environment unless the host hands it a capability, and those grants narrow as they're passed on, so an untrusted script, or an AI agent's, only reaches what you allowed.
Correctness
Money, contracts and numbers that don't drift.
Built-in exact decimals keep prices and ledgers to the penny, and big integers count past 64 bits for runaway idle-game economies. Contracts report every failed condition at once, so a player sees all three reasons they can't enter, not just the first.
Concurrency
Isolated actors, no shared mutable state.
Partitions talk by message: tell to fire and forget, ask to wait for a reply. No shared mutable state means no data races, and a faulted turn is contained rather than taking the process with it.
Day one tooling
Real editor support, and a real playground.
A full language server and step-debugger in VS Code and Zed, with completion, hovers and breakpoints. The whole compiler also runs in the browser, so the playground on scua.dev is the actual language rather than an approximation.
Early access is open
Have a play with it.
SCUA is pre-1.0 and in early access. The language, tooling and docs are live, and we'd love to hear what breaks. The tutorial takes about twenty minutes, and the playground needs nothing installed.