Warning
YARG is not done yet! Expect incomplete features and bugs!
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."
An official installation video is available here.
A community made one is available as well, here.
Windows:
- Click here to view all releases.
- Download the lastest zip file by clicking on the "Assets" dropdown and then clicking on
YARG_vX.X.X.zip
. - Extract the contents of the zip file by right clicking it and pressing "Extract All..."
- 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" error. This is because not many people have ran the program before, so Windows does not know if it is harmful or not. Click on "More info" and then "Run anyway" to run YARG anyways. If you don't trust me, please feel free to scan the folder with an anti-virus. Please note that some anti-viruses may have the same problem as Windows.
- Once you load in, click on "SETTINGS"
- Then, click on "Open Song Folder Manager"
- Next, click on "Add Folder." A new text box should pop-up. This is where your songs will come from.
- Choose your song folder. You can browse folder by click on the folder icon.
- Once you've chosen your folder, click on "Select Folder". Please be sure that the folder has at least one song in it.
- YARG will cache all of the files in the folder you chose. Doing this may take a while depending on the amount of songs you have. If you ever add more songs, be sure to go to "SETTINGS" and then click on "Refresh All Caches".
- Next click on "ADD/EDIT PLAYERS".
- Click on "Add Player"
- Then click on the device you will be playing with.
- Click on the dropdown and select what type of instrument you will be playing (i.e. "Five Fret", "Microphone", etc.)
- Depending on the input type, you may have to bind keys. To do this, click on each button and press the key of choice on your controller.
- Finally, click on "QUICKPLAY".
- Have fun!
Warning
If you would like to build the game yourself, please follow these instructions.
If you don't follow these instructions, YOU WILL NOT BE ABLE TO RUN THE GAME.
- 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 downloading 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 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!
Note
If you plan on merging branches, I highly recommend following these instructions for easier merges.
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: (You may need to change the file path depending on where you installed Unity to)
[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"
- 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.
Note
If you plan on merging branches, I highly recommend following these instructions for easier merges.
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: (You may need to change the file path depending on where you installed Unity to)
[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"
- 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.
If you want to contribute, please feel free! Please join our Discord if you want your PR/Art merged.
YARG is licensed under the MIT License - see the LICENSE
file for details.
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 |
DtxCS | Licenseless |
Moonscraper | BSD 3-Clause License |
Please note that other libraries are not packaged within the source code, and are to be install by NuGet.
BASS is the audio library for YARG. It has it's own license for release.
Link | Type | Use |
---|---|---|
Unbounded | Font | Combo/Multipier Meter |
Barlow | Font | UI Font |
Material Symbols | Icons | UI Icons |
Lucide | Icons | UI Icons |
PolyHaven | Assets | Textures and Models |
PlasticBand | Reference | Controller Support Info |
PlasticBand-Unity | Library | GH/RB Controller Support |
HIDrogen | Library | Linux HID Controller Support |
GuitarGame_ChartFormats | Reference | File Format Documentation |
NuGet for Unity | Library | NuGet Packages in Unity |
EliteAsian's Unity Extensions | Library | Utility |
Unity Standalone File Browser | Library | "Browse" Button |
FuzzySharp | Library | Search Function |
ini-parser | Library | Parsing song.ini Files |
DryWetMidi | Library | Parsing .mid Files |
TagLibSharp | Library | Finding Audio Metadata |
Minis | Library | MIDI Input for Unity |
Discord GameSDK | Library | Discord Rich Presence |
DtxCS | Library | Parsing .dta Files |
Moonscraper | Library | Parsing .chart Files |
Some people have expressed interest in donating. This is an open-source project and therefore donating is not required. If you do want to still help out, spread the word or contribute!