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.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.
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 anupdate() 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.
Install the library
Create a new npm project, install AssemblyScript, and add
asr-assemblyscript as a dependency.Write your update loop
Export an
update() function that attaches to the game, reads memory, and controls the timer.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.