Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CryZe/asr-assemblyscript/llms.txt

Use this file to discover all available pages before exploring further.

asr-assemblyscript is an AssemblyScript library that lets you write auto splitters — small WebAssembly modules that automatically control a speedrun timer — for LiveSplit One’s auto splitting runtime. Your auto splitter can start, split, and reset the timer based on live game memory, with no manual input from the runner.

Quickstart

Set up a project and compile your first auto splitter in minutes.

Auto Splitter Lifecycle

Learn how the runtime calls your code and how to structure your update loop.

Reading Memory

Attach to a game process and read values from its memory at runtime.

API Reference

Full reference for all Timer, Process, Runtime, and Watcher APIs.

How It Works

Auto splitters are WebAssembly modules that the runtime loads and calls on a configurable tick interval. Your module exports an update() function that the runtime calls repeatedly. Inside update(), you attach to the game process, read memory, and call timer functions based on what you observe.
1

Install the library

Create a new npm project, install AssemblyScript, and add asr-assemblyscript as a dependency.
2

Write your update loop

Export an update() function that attaches to the game, reads memory, and controls the timer.
3

Compile to WebAssembly

Run npm run asbuild:release to produce a .wasm file ready for LiveSplit One.
4

Load in LiveSplit One

Point LiveSplit One at your compiled .wasm file and start running.

Key Features

Timer Control

Start, split, reset, and set custom game time. Track timer state to avoid double-starts or stale splits.

Memory Reading

Attach to game processes by name, resolve module base addresses, and read arbitrary memory regions.

Memory Watchers

Typed watcher classes track current and previous values so you can react to changes each tick.

User Settings

Expose boolean toggles to the runner via LiveSplit One’s settings UI.

Build docs developers (and LLMs) love