Developer documentation
Everything you need to write a mod, a skin, a map script or a theme for Prism, and to publish it.
Mod API version 2
For AI assistants and editors
The typed SDK and a single file to paste into a coding assistant. The addresses are stable.
Get started
Writing a mod for Prism
Quick start: a mod folder, main.ts, a first HUD, installing and exporting.
Concepts: how a mod works
Lifecycle, threads and budgets, events, permissions, errors, determinism and what is forbidden.
Mod API reference (version 2)
Mod API reference (version 2), namespace by namespace, checked against the SDK.
Cookbook
Complete recipes type-checked against the SDK: HUD, native rendering, settings, judgement sets, difficulty ratings.
Mods
TypeScript mods: the detailed guide
The detailed guide to TypeScript mods: events, entities, HUD, stage, storage, .pvmod packages, security, budgets.
Mods: the local leaderboard and song-select tabs
The local leaderboard and the song-select tabs, written by mods.
Mods and downloads
Mods that add downloads to the game's Download page.
Skins, themes and menus
Skins
Writing a skin: defineSkin, the playfield reference, native drawing, player settings.
Map scripts
Map scripts (defineChart): what they change, budgets, replays.
Interface themes
Interface themes: the token contract, layout choices, writing a theme.
Menus: behaviour and themes
Menus: behaviour, the behaviour API and themes, the modifier selector.
Distribution and contracts
Mod and skin catalogue (Download page)
The site's mod and skin catalogue: the API contract, one-click install, verification.
Mod and skin catalogue: the server contract
The server contract: GET /api/catalog, publication rules, archive checks, the files served.
Channels, publishing and updates
Game updates: the releases.json contract, channels, signing, what the client does.
Map index API
The public, read-only JSON API of the map index: chart identity, sources, chartsets, the .rox file, limits.
Submit a mod to the verified catalogue
Build a .pvmod, what the review looks at, how to send it, what happens after approval.