Naratzul/vellum

Vellum: A modern scripting language for Bethesda games (Skyrim), compiling to Pex.

★ 15Forks 0C++GitHub ↗Compare

README

Vellum

Vellum is a scripting language for Creation Kit–era games. It compiles to PEX and stays compatible with the Papyrus ecosystem, with a focus on clearer syntax and compiler errors. It adds language features that Papyrus does not have, and more are planned.

For now, only the Skyrim PEX subset is supported and tested. Support for other Creation Engine titles is planned.

Documentation

Full docs (language, usage, examples, VS Code extension): https://naratzul.github.io/vellum/

Compiler changelog: CHANGELOG.md.

Quick start

  1. Download the compiler — see the Download page in the docs.

  2. Compile a script — from the docs, run:

    vellum.exe -f <path-to-your-script> -i <path-to-skyrim-scripts-folder>

    On success you get a .pex next to your .vel file, or in the output directory if you pass -o. Pass a directory to -f to compile all sources under it. Use vellum.exe -h for more options.

  3. Example scripts — examples on GitHub.

Compiler requirements

  • Skyrim modding setup: you need the game’s Scripts source folder (the path passed to -i), as described in Using the compiler.
  • Prebuilt releases are Windows binaries (vellum.exe) unless the download page says otherwise.

Building from source

  • CMake 3.12+
  • C++23 toolchain (MSVC on Windows matches CI)
  • Git
  • First CMake configure downloads dependencies via CMake FetchContent (network required)

Building the documentation site

  • Python 3.12+ recommended
  • pip install -r requirements-docs.txt, then mkdocs build or mkdocs serve (the documentation stack is listed under Acknowledgments).

Acknowledgments

Vellum bundles or builds against:

The documentation site uses MkDocs, Material for MkDocs, PyMdown Extensions, and Pygments. Pin versions via requirements-docs.txt.

Thanks to the authors and maintainers of these projects.

Contributors

Naratzul

Issues