Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/LiveSplit/livesplit-core/llms.txt

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

livesplit-core is the engine behind LiveSplit — the most widely used speedrunning timer. It’s a portable, high-performance Rust library you can embed in any application to add full speedrun timer functionality, including splits management, comparison generators, layout rendering, auto splitting, and global hotkeys.

Introduction

Learn what livesplit-core is, what it can do, and which projects use it.

Quickstart

Build a working timer in Rust in under five minutes.

Building & Installation

Compile the library and generate language bindings from source.

API Reference

Full reference for the Timer, Run, Layout, and all other public types.

What You Can Build

livesplit-core handles all the timing and data logic so you can focus on your application’s UI and experience.

Speedrun Timer

Start, split, pause, reset, and undo with full Real Time and Game Time support.

Splits Viewer

Parse 15+ splits file formats and display segment data with customizable layouts.

Auto Splitter

Load WebAssembly auto splitters that read game memory and control the timer automatically.

Cross-Platform UI

Render layouts to pixel buffers via the software renderer or to SVG for web use.

Hotkey System

Register global hotkeys on Windows, macOS, Linux, and the web browser.

Run Analysis

Calculate PB chance, best possible time, delta to comparison, and more.

Explore the Docs

Core Concepts

Understand Runs, Segments, Timers, Comparisons, and Layouts.

Language Bindings

Use livesplit-core from C, C#, Java, Kotlin, Swift, JavaScript, Ruby, or Python.

Auto Splitting Guide

Write and load WebAssembly auto splitters to control the timer from game memory.

Rendering Guide

Render timer layouts to images using the software or SVG renderer.

Build docs developers (and LLMs) love