How to Install YARG Songs: A Complete Guide to Adding Custom Music

YARG (Yet Another Rhythm Game) has quickly become one of the most popular open-source rhythm game projects in the community, largely because it supports custom song libraries. If you've just discovered YARG or you're trying to expand your song list, understanding how song installation works — and what affects the process — will save you a lot of frustration.

What YARG Is and Why Song Installation Works Differently

YARG is a free, open-source rhythm game built for PC, designed to be compatible with instruments from games like Rock Band and Guitar Hero. Unlike closed commercial rhythm games, YARG doesn't come pre-loaded with a licensed song library. You bring your own songs.

This matters because it means the installation process isn't a one-click download from a store. Songs in YARG are typically stored as chart files — structured data files that define the notes, timing, and metadata for each track — paired with an audio file. The most common formats you'll encounter are:

  • .chart — a widely used text-based chart format
  • .mid (MIDI) — used by many older and community-made charts
  • Clone Hero format folders — YARG supports this layout natively, which matters if you're migrating from Clone Hero

Understanding these formats upfront helps you troubleshoot if a song doesn't load correctly.

The Basic Process for Installing Songs in YARG

🎸 The general workflow for adding songs to YARG follows a straightforward folder-based system:

  1. Locate your YARG song directory. By default, YARG looks for songs in a specific folder on your system — usually something like Documents/YARG/Songs or a custom path you define in the settings menu. You can verify or change this path inside the game's Settings → Song Manager section.

  2. Obtain a song folder. Each song in YARG typically exists as its own folder containing at minimum a chart file (.chart or .mid) and an audio file (often .ogg or .mp3). A song.ini file is also common — this stores metadata like the song name, artist, charter name, and difficulty ratings.

  3. Place the song folder inside your songs directory. You're not installing an executable or running a setup wizard. You're simply moving a folder into the right location on your drive.

  4. Refresh or restart YARG. The game scans your song directory when it loads. Some versions support an in-game refresh; others require a full restart to detect new additions.

That's the core loop. The variables, however, are what make individual experiences differ significantly.

Key Variables That Affect Your Song Installation Experience

Where You Source Your Songs

Song quality and compatibility vary considerably depending on where charts come from. Community charting sites, Discord servers, and dedicated YARG/Clone Hero repositories offer songs charted specifically for this type of game engine. Poorly formatted or incomplete song folders — missing audio files, incorrect song.ini entries, or mismatched timing — will cause songs to fail to load or play incorrectly.

Your Operating System and File System

YARG is primarily developed for Windows, but macOS and Linux builds exist. File path structures differ across operating systems, and the default song directory location will vary. On Linux especially, case-sensitive file systems can cause charts to fail loading if file references inside the chart don't match exact capitalization.

Song Format Compatibility

Not every chart format is supported equally. YARG's compatibility layer has expanded over time, but some very old .mid files or non-standard chart formats may produce unexpected results — missing note tracks, broken audio sync, or simply failing to appear in the library.

FormatGeneral YARG SupportNotes
.chart (Clone Hero style)StrongMost community content uses this
.mid with song.iniGenerally supportedOlder format; occasional issues
.mid without song.iniVariableMay not load metadata correctly
Raw audio only (no chart)Not supportedRequires a chart file to function

Your Hardware and Library Size

YARG scans every song folder at startup. If you're loading hundreds or thousands of songs, scan time scales with your storage speed and CPU performance. Users running YARG from a traditional spinning hard drive with large libraries often notice significantly longer load times compared to those running from an SSD.

YARG Version

Because YARG is actively developed and open-source, behavior can change between releases. Features like setlist management, song caching, and supported audio codecs have all evolved across versions. A song installation approach that worked on an older build may behave differently on a current release — always check the YARG GitHub or community documentation for version-specific notes.

What Varies Across Different User Setups

A user coming from Clone Hero will likely find the transition smooth — folder structures are compatible, and existing song libraries often transfer directly. Someone building a YARG library from scratch needs to understand charting basics before they can evaluate song quality. A user on Linux has additional considerations around file paths and audio codec support. Someone with a large, pre-existing library may need to configure a custom songs path pointing to an external drive rather than relying on the default location.

The right approach to building your YARG song library depends on where you're starting, what you already have, and how your system is configured — and that combination looks different for every player.