MiniScript 2.0 is complete rewrite of the MiniScript language, focused mainly on performance. It is the cornerstone of the 2026 MiniScript Road Map. For MiniScript 1.x source code, see here.
MiniScript 2.0 is developed in C# and transpiled to C++ for production performance. The VM uses 32-bit fixed-width instructions and supports computed-goto dispatch on supported compilers.
tools/build.sh cs # Build C# only
tools/build.sh transpile # Generate C++ code from C# code
tools/build.sh cpp # Build C++ only
tools/build.sh all # Build everything (C#, transpile, C++)
tools/build.sh test # Run smoke tests- CS_CODING_STANDARDS.md — C# coding restrictions required by the C#-to-C++ transpiler.
- DEV_LOG.md — Development log documenting project status and decisions.
- FROZEN_VALUES.md — Design for immutable maps and lists via freeze/isFrozen/frozenCopy.
- FUNCTION_CALLS.md — Design and considerations for the VM's function call mechanism.
- GC_USAGE.md — Guide to the garbage collection shadow-stack system.
- LANGUAGE_CHANGES.md — Observable language changes in MiniScript 2.0 vs 1.x.
- MEMORY_SYSTEMS.md — Overview of the three memory systems (GC, intern table, etc.).
- OPCODE_ADDITION.md — Procedure for adding new opcodes to the VM.
- UNARY_MINUS_QUIRK.md — Language quirk involving unary minus and call statement syntax.
- VARIABLES.md — How variables map to registers and interact with scope maps.
- VM_DESIGN.md — Architecture of the register-based VM and instruction encoding.
- miniscript.g4 — ANTLR grammar defining MiniScript syntax.
MiniScript is free, and apart from a small amount of revenue from the books and Unity asset, generates no significant income. Your support is greatly appreciated, and will be used to fund community growth & reward programs like these.
So, click here to sponsor -- contributions of any size are greatly appreciated!
Click the ⭐️ at the top to help push this graph up! Every like helps more people discover MiniScript, and keeps me motivated to push it forward every day!