explaingit

ppy/osu

📈 Trending18,357C#Audience · generalComplexity · 4/5ActiveLicenseSetup · moderate

TLDR

A free-to-play rhythm game where players click, drag, and press keys to the beat. Supports custom gameplay modes and runs on Windows, macOS, Linux, Android, and iOS.

Mindmap

mindmap
  root((repo))
    What it does
      Rhythm game
      Beat synchronization
      Multiple play styles
    How it works
      Click and drag
      Key presses
      Custom rulesets
    Platforms
      Windows
      macOS
      Linux
      Mobile
    Tech stack
      C# language
      .NET SDK
      Cross-platform
    Use cases
      Play rhythm games
      Create custom modes
      Contribute translations

Things people build with this

USE CASE 1

Play rhythm games by clicking and dragging to music on any device.

USE CASE 2

Create custom gameplay modes (rulesets) that integrate with existing song libraries.

USE CASE 3

Contribute translations to make the game available in more languages.

Tech stack

C#.NET SDKWindowsmacOSLinuxAndroidiOS

Getting it running

Difficulty · moderate Time to first run · 30min

Requires .NET SDK installation and platform-specific build tools (Xcode for iOS, Android SDK for Android).

Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

osu! is a free-to-play rhythm game written in C#. Players interact with music by clicking, dragging, or pressing keys in time with a beat map, a pattern of on-screen objects synchronized to a song. The game supports multiple play styles, called rulesets, each with a different set of mechanics. This repository contains the current iteration of the client, released under the codename "lazer." It runs on Windows, macOS, Linux, Android, and iOS. While it coexists with the older stable version, it is intended to eventually become the primary client. Players are encouraged to install it alongside the stable release while development continues. The codebase is designed to allow user-created rulesets, so developers can build entirely new gameplay variations that run inside osu!'s engine and use the existing library of song maps. Templates and examples are provided to help ruleset authors get started. Building from source requires the .NET SDK. The project uses solution filter files to target specific platforms during development, and includes automated tests. Localisation contributions are handled through an external crowdsourcing platform.

Copy-paste prompts

Prompt 1
How do I build and run osu! lazer from source on my machine?
Prompt 2
Show me how to create a custom ruleset for osu! using the provided templates.
Prompt 3
What are the differences between osu! lazer and the stable version?
Prompt 4
How do I contribute translations to osu! through the crowdsourcing platform?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.