🎮 YARG
Welcome to YARG Official Documentation! Here we have some articles that can help with any question about the game, how the engine works, setting instruments or any other question.
👉 Disclaimer
Section titled “👉 Disclaimer”We DO NOT encourage, advocate, or promote PIRATING of songs, or of anything else. This game’s intended use is for you, the player, to play songs that you already own. This means, ripping songs of a game YOU OWN for YOURSELF for PERSONAL USE, or downloading creative commons/public domain songs off of the internet.
YARG has nothing to do with pirates. It stands for “Yet Another Rhythm Game.”
📥 Downloading and Playing
Section titled “📥 Downloading and Playing”An official installation video is available here.
A community made one is available as well.
Windows
Section titled “Windows”- Go to the latest release and click on the “Assets” dropdown, then click on
YARG_vX.X.X-Windows-x64.zip
to download. - Extract the contents of the zip file by right clicking it and pressing “Extract All…”
- Choose where you want to extract it to, then click “Extract”.
- Open the extracted folder and double-click
YARG.exe
(if you don’t have file extensions on, it is called justYARG
) - You may get a “Windows protected your PC” warning. This is because not many people have run YARG before, so Windows does not know if it is harmful or not. Click on “More info” and then “Run anyway” to run it anyways. If you don’t trust me, please feel free to scan the folder with an anti-virus, and remember that false positives can still happen.
- Go to the the latest release and click on the “Assets” dropdown, then click on
YARG_vX.X.X-MacOS-Universal.dmg
to download. - Open the downloaded .dmg and drag the YARG app to your Apps folder.
- Double-click the YARG app to run it.
- Go to the latest release and click on the “Assets” dropdown, then click on
YARG_vX.X.X-Linux-x86_64.zip
to download. - Extract the zip to the location of your choosing.
- Inside the folder you extracted the game to, open a terminal and run
chmod +x ./YARG.x86_64
to give the game executable permission. - You can now double-click the
YARG.x86_64
file or use./YARG.x86_64
in a terminal to run the game, however there are some dependencies that will be needed for HID devices (such as PS3 and Wii instruments). - Next, install
hidapi
andlibudev
:
- (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
.
- 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
!
- Reboot your system to apply the new udev rule, then you should be all good to go!
In-Game Setup
Section titled “In-Game Setup”- Set up your song folders:
- From the main menu, click on “SETTINGS”, then click on “Open Song Folder Manager”
- Next, click on “Add Folder.” A new entry should pop-up.
- Click on the folder icon to open a folder picker, then choose the folder your songs are stored in.
- Repeat the previous two steps for each of your song folders.
- Now, click on “Refresh All Caches” to make YARG scan that folder for songs. Doing this may take a while depending on the amount of songs you have. If you ever add more songs, be sure to come back here and click on “Refresh All Caches”.
- Set up your controllers:
- From the main menu, click on “ADD/EDIT PLAYERS”.
- Click “Add Player” and select the controller you wish to use for that player (or select “Create a BOT” to create a bot player).
- Enter in a name for this player, and select what type of instrument you will be playing from the dropdown below it (i.e. “Five Fret”, “Microphone”, etc.).
- Depending on the instrument type, you may have to bind some controls. To do this, click on each mapping and press the control you want to map to it.
- Finally, click on “QUICKPLAY” to enter the song list.
Have fun!
🔨 Building
Section titled “🔨 Building”Setup Instructions
Section titled “Setup Instructions”- Make sure you have the latest version of Blender installed. This is for loading models, even if you don’t plan on editing them.
- Make sure you have Python (3.10) or greater installed. Be sure it is added to system path. This is required to download dependencies.
- Clone the repository. If you don’t know how to do this:
- Download Git. Be sure it is added to system path.
- Open the command prompt in the directory you want to store the repository.
- Type in
git clone https://github.com/YARC-Official/YARG.git
. - Install Unity Hub and Unity
2021.3.21f1
(LTS). - Download and install Unity Hub.
- Sign-in/create an account with a personal license (free).
- In Unity Hub, click on “Install Editor” and select
2021.3.21f1
(LTS). It may be favourable to unselect Visual Studio if you are not using it. - Click “Install”
- Open the command prompt at the root of the repo, and type in:
pip install requests
python InstallLibraries/install.py
. This may take a bit. Wait for the command prompt to say “Done!” before closing. This installs all of the needed dependencies for you.- Open the project in Unity (select “Open” and select YARG’s repo’s folder).
- Load in without entering safe mode. Click “Ignore”.
- (You may need to) click on
NuGet
on the menu bar, then click onRestore Packages
. - You’re ready to go!
Unity YAML Merge Tool
Section titled “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:
- Open a command prompt to the repository (on VS Code you can do Terminal > New Terminal)
- Type in
git config --local --edit
- 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\\2021.3.21f1\\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.
- Save and close the file.
Resolving conflicts:
- Start the merge/cherry-pick which is causing conflicts.
- If the conflict doesn’t resolve automatically, open the command prompt and use
git merge-tool
. - Verify that the conflict was resolved correctly, then commit/continue the merge.
✍️ Contributing
Section titled “✍️ Contributing”If you want to contribute, please feel free! Please join our Discord if you want your PR/Art merged.
🛡️ License
Section titled “🛡️ License”YARG is licensed under the MIT License - check our Licenses page for details.
📦 External Assets and Libraries
Section titled “📦 External Assets and Libraries”Check our Libraries page for details.