docs.rs failed to build rsaber_lib-0.5.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rsaber_lib-0.4.0

rsaber: Beat Saber clone written in Rust

State

We are really at the beginning. At least, the colored notes are already moving and there is a basic collision detection logic :). As there are no built-in levels, they are fetched from https://beatsaver.com/.

Screenshots

Supported Devices

Actually, any headset with OpenXR support + Vulkan API is supposed to work.

Supported Audio Backends

OS Backend
Android AAudio
Linux PipeWire
Windows Wasapi

Build From Source

If you prefer, you can compile rsaber from sources. First of all, you need to have rust toolchain installed.

android

Prerequisite:

  • Install Android Studio, then go to SDK Manager and install:

    • SDK Platforms -> API level: see ANDROID_SDK_LEVEL below
    • SDK Tools -> NDK
  • Setup rust toolchain, replace username as needed:

    rustup target add aarch64-linux-android
    cargo install cargo-ndk
    set JAVA_HOME=c:\Program Files\Android\Android Studio\jbr
    set ANDROID_HOME=c:\Users\<username>\AppData\Local\Android\Sdk
    set ANDROID_SDK_LEVEL=34
    

Clone repo, connect Quest to PC, then build in debug mode & run:

git clone https://github.com/bandipapa/rsaber.git
cd rsaber\android\build
gradlew runDebug

Building in release mode can be done by setting ANDROID_KEYSTORE, ANDROID_KEYSTORE_PW, ANDROID_KEYALIAS, ANDROID_KEYALIAS_PW environment variables, and execute:

gradlew runRelease

pc

Build & run:

cargo install rsaber_pc
rsaber_pc

pcvr

Prerequisite:

Build & run:

cargo install rsaber_pcvr
rsaber_pcvr

Suggested Reading

TODO

  • Have the option to dump/read assets from local files (this is for modders who don't want to recompile)