Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Y

YARG

> 编程语言
Open source

YARG (a.k.a. Yet Another Rhythm Game) is a free, open-source, plastic guitar game that is still in development. It supports guitar (five fret), drums (plastic o

1.1K stars0 likes0 views
WebsiteGitHub

About

YARG (a.k.a. Yet Another Rhythm Game) is a free, open-source, plastic guitar game that is still in development. It supports guitar (five fret), drums (plastic o

YARG (a.k.a. Yet Another Rhythm Game)


YARG (a.k.a. Yet Another Rhythm Game) is a free, open-source, plastic guitar game that is still in development. It supports guitar (five fret), drums (plastic or e-kit), vocals, pro-guitar, and more! YARG is still in active development, so there may be bugs and missing features.

Disclaimer

[!IMPORTANT] YARG stands firmly against all forms of piracy. We neither support nor endorse piracy, as it is a violation of copyright law with serious legal consequences. Our platform's importable content—designed for creators to share their work and for educational purposes—does not justify or excuse piracy.

YARG itself does not use any ripped/pirated assets or music and never will. By using YARG, users agree not to promote or endorse piracy in any way through our platform. Upholding these principles ensures a community that respects copyright, creativity, and legal standards.

YARG stands for "Yet Another Rhythm Game" and NOT for pirates.

Table of Contents

  • Disclaimer
  • Table of Contents
  • Downloading and Playing
    • YARC Launcher (All Platforms)
    • Linux
  • Building/Contributing
    • Setup Instructions
    • Unity YAML Merge Tool
  • ✍️ Contributing and Credits
  • ️ License
  • External Licenses
  • External Assets and Libraries
  • Donate

Downloading and Playing

It is recommended you download YARG via the YARC Launcher. Downloading the portable option is not recommended as some features may not work.

YARC Launcher (All Platforms)

[!IMPORTANT] If you are on Linux, there are some additional things you need to do in order for controllers to work. See the Linux section for more info.

  1. Go to the YARC Launcher releases page, here.
  2. Click on the download option for your operating system.
  3. You may get a "this application is not safe" warning depending on your operating system. This is a false positive. Click here to learn more.
  4. Once in the launcher, click on "YARG" on the left hand side.
  5. Then, click on green "Update Stable" button.
  6. You will be prompted to choose an install folder. If you don't know what folder to choose, just click "Okay". Please ensure that the folder you select is empty.
  7. Wait for it to finish installing...
  8. Finally, press "Play Stable"!
  9. Additionally, if you want some songs, install "YARG Setlist" which is also on the left in the YARC Launcher.

Linux

There are some dependencies that will be needed in order for HID devices (such as PS3 and Wii instruments) to work.

  1. Install hidapi and libudev:
    • (Package names may differ depending on package repositories.)
    • On apt-based distros (such as Ubuntu or Debian), use sudo apt install libhidapi-hidraw0 libudev1.
    • On pacman-based distros (such as Arch Linux), use pacman -S hidapi systemd-libs.
    • On Fedora, use dnf install hidapi systemd-libs.
  2. Finally, create a new udev rules file called 69-hid.rules inside of /etc/udev/rules.d/ or /usr/lib/udev/rules.d/, with the following contents:
KERNEL=="hidraw*", TAG+="uaccess"
  • Without this file, YARG will not be able to access HID devices without special permissions such as being run with sudo, which is not recommended.
  • The file name may differ if desired, but it must come before 73-seat-late.rules!
  1. Reboot your system to apply the new udev rule, then you should be all good to go!

For improved compatibility when using the XBOX 360 Wireless Adapter with Linux, create a new udev rules file called 99-yarg-libusb.rules inside of /etc/udev/rules.d/ or /usr/lib/udev/rules.d/, with the following contents:

SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="0291", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02a9", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="0719", MODE="0666"

Building/Contributing

[!IMPORTANT]

⚠️ If you wish to contribute, use the dev branch. Your PR will NOT be merged if it's on master. ⚠️

Setup Instructions

[!WARNING]

If you would like to build the game yourself, please follow these instructions.

If you don't follow these instructions, it is possible that YOU WILL NOT BE ABLE TO RUN THE GAME.

  1. If you are planning to contribute, first make a fork of the project.

    • Be sure to uncheck the option to only include the master branch! You will not be able to set things up correctly otherwise, as the dev branch will not be included in your fork.
  2. Make sure you have the latest version of Blender installed. This is for loading models, even if you don't plan on editing them.

  3. Clone the repository. If you are not familiar with git, GitHub Desktop or Visual Studio Code plus the GitLens extension are both good GUI options. If, however, you want to use the command-line:

    1. Download Git. Be sure it is added to system path.
    2. Also download Git LFS, and install it with the git lfs install command.
    3. Open the command prompt in the directory you want to store the repository.
    4. Clone the project repository:
    5. Type in git clone -b dev --recursive .git, replacing `` with either:
      • your fork's URL if you made one, or
      • the main repository's URL (https://github.com/YARC-Official/YARG) if you just want to build the game.
      • A complete example using the main repository's URL is git clone -b dev --recursive https://github.com/YARC-Official/YARG.git.
    6. Assets are stored in LFS, if you receive an error that assets can not be loaded or assets are missing, you may need to change into the YARG directory and retrieve assets from LFS by typing in git lfs fetch followed by git lfs checkout to use them when things get updated.
    7. Because YARG contains submodules, you may need to do git submodule update when things get updated.
  4. Install Unity 6000.3.5f2. Easiest method will be using Unity Hub:

    1. Download and install Unity Hub.
    2. Sign-in/create an account with a personal license (free).
    3. In Unity Hub, hit the arrow next to Add and select Add project from disk, then select the folder you cloned YARG to.
    4. Click on the added entry for YARG. It will warn you about a missing editor version, select 6000.3.5f2 and install it.
      • Unselect Visual Studio in the list of modules if you wish to use another editor or already have it installed.
  5. Install the .NET SDK. This is required to develop the submodules and their supporting projects.

    • You will need the SDK specifically, not the runtime!
  6. Open the project in Unity. When prompted about Safe Mode, click "Ignore".

    • Do not enter Safe Mode, otherwise scripts necessary to build/install dependencies will not run, and the errors will not resolve.
  7. Click on NuGet on the top menu bar, then click on Restore Packages.

    • This should be performed automatically when Unity starts up, but it can be performend manually if needed.
  8. You're ready to go!

Unity YAML Merge Tool

Sometimes merge conflicts may happen between Unity scenes. These can be much more difficult to resolve than other merge conflicts, so we recommend using the Unity YAML merge tool to resolve these instead of attempting to do so manually.

Setup:

  1. Open a command prompt to the repository (on VS Code you can do Terminal > New Terminal)
  2. Type in git config --local --edit
  3. In the file that gets opened, go to the bottom and paste this in:
[merge]
    tool = unityyamlmerge
[mergetool "unityyamlmerge"]
    trustExitCode = false
    cmd = 'C:\\Program Files\\Unity\\Hub\\Editor\\6000.3.5f2\\Editor\\Data\\Tools\\UnityYAMLMerge.exe' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
  • You may need to change the file path depending on where you installed Unity to.
  1. Save and close the file.

Resolving conflicts:

  1. Start the merge/cherry-pick which is causing conflicts.
  2. If the conflict doesn't resolve automatically, open the command prompt and use git merge-tool.
  3. Verify that the conflict was resolved correctly, then commit/continue the merge.

✍️ Contributing and Credits

If you want to contribute, please feel free! It's recommended you join our Discord so we can provide feedback quickly.

In order to get your name added to the YARG credits, you need to first contribute to any of the following:

  • YARG
  • The Official Setlist and/or DLC
  • YARC Launcher
  • OpenSource
  • The community (community moderator, socials manager, etc).

After that, you must create a pull request on this repo to get your name added. If you need help with this, feel free to ask in our Discord!

️ License

YARG is licensed under the GNU Lesser General Public License v3.0 (or later) - see the LICENSE file for details.

External Licenses

Some libraries/assets are packaged with the source code have licenses that must be included.

Library License
NuGet for Unity MIT
Unity Standalone File Browser MIT
Discord GameSDK Licenseless
Lucide ISC
Unbounded, Barlow, Noto Sans Japanese and Red Hat Display Open Font License
PolyHaven CC0
BASS Proprietary (free for non-commercial use)
Haukcode.sACN MIT
aperitif chatter.wav by soundslikewillem Attribution NonCommercial 4.0
Crowd after Encore.wav by soundslikewillem Attribution NonCommercial 4.0

Please note that other libraries are not directly packaged within the source code, and are to be installed by NuGet, Unity's packaged manager, or via a Git submodule.

External Assets and Libraries

These are assets that are installed by NuGet, Unity's packaged manager, or via a Git submodule. These have varying licenses, but can all be downloaded/accessed by the links given.

Link Type Use
YARG.Core Library Provides most of YARG's backend (engine, repla

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C#clone-heroguitar-herorockband

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言