"Rhyt-Rhythmia" — Edward "BTMC" Ling, 2024
Caution
Rhythia is NOT affiliated with CAPO Games, Steam Rhythia, or rhythia.com in any way. We cannot provide support or assistance for any issues related to those platforms. Please ensure you are downloading the correct client from the links below. We do, however, support any modification of our logos and content in the client source under our license.
Rhythia (formerly Sound Space Plus) is a free and open-source rhythm game built with Godot 4.6 and C#.
There are currently two builds of the game available.
Important
Do not clone this repository to play the game. Use the download links below instead.
The current client being actively maintained, now in early testing.
Note
Recommended — This is the latest version of the client. Please report any bugs found in #bug-reports on our Discord server.
You can view all releases on the Rewrite releases page.
| Platform | Direct Download |
|---|---|
| Windows | Download |
| Linux | Download |
You can view the Rewrite source code here.
The legacy client we all know and (somewhat) love. We recommend this client if you're just starting out for now.
Warning
Nightly is no longer being maintained. All current development efforts are focused on the Rewrite client above.
You can view all releases on the Nightly releases page.
| Platform | Direct Download |
|---|---|
| Windows | Download |
| Linux | Download |
You can view Nightly's source code here.
- Download
windows.zipfor your chosen client above. - Extract the
.zipfile to a folder of your choice. - Run
Rhythia.exe.
Warning
You must have the Visual C++ Redistributable installed to run the game on Windows!
Tip
The following packages are recommended: thunar, thunar-archive-plugin
- Download
linux.zipfor your chosen client above. - Right-click the downloaded file and extract it.
- Run
Rhythia.x86_64.
Warning
The unzip package is required. Install it using your distribution's package manager if you don't have it.
- Download
linux.zipfor your chosen client above. - Open your terminal and run the following commands:
# Assuming the file is in the Downloads folder cd $HOME/Downloads unzip -d Rhythia linux.zip
- Move into the extracted folder and run the game:
cd Rhythia ./Rhythia.x86_64
If your game doesn't run, make the binary executable from within your Rhythia folder:
sudo chmod +x Rhythia.x86_64Note
You need to be a superuser in order to run sudo.
Still having issues? Visit the #support channel in our Discord.
Your maps, replays, skins, and settings are stored separately from the game installation:
| Platform | Path |
|---|---|
| Windows | %appdata%\Rhythia |
| Linux | ~/.local/share/Rhythia |
You can also access the user folder from within the game via Settings → User Folder.
| Tool | Version | Notes |
|---|---|---|
| Godot Engine | 4.6 | .NET (C#) build required |
| .NET SDK | 10.0 | |
| Git LFS | Latest | Required for large binary assets |
├── addons/ # Third-party addons (ffmpeg, etc.)
├── fonts/ # Font assets
├── meshes/ # 3D mesh assets
├── prefabs/ # Reusable scene prefabs (UI elements, etc.)
├── scenes/ # Main game scenes (menu, game, results, etc.)
├── scripts/ # C# source code
│ ├── database/ # Database / persistence layer
│ ├── game/ # Core gameplay (attempts, renderers, mods, judgments)
│ ├── map/ # Map parsing and management
│ ├── multiplayer/ # Multiplayer lobby and player logic
│ ├── scenes/ # Scene-specific scripts
│ ├── shaders/ # Shader code
│ ├── skinning/ # Skin loading and management
│ ├── spaces/ # Space-related logic
│ ├── ui/ # UI components and notifications
│ └── util/ # Utility / helper classes
├── sounds/ # Audio assets
├── textures/ # Texture and image assets
├── themes/ # Godot UI themes
└── user/ # Default user data scaffold
We ❤️ developers! Contributions are welcome — whether it's bug fixes, features, documentation, or translations.
Warning
Nightly is no longer actively maintained. This guide is for contributing to the Rewrite client. The contribution process is the same, but you'll be working with the Rewrite repository.
| Software | Notes |
|---|---|
| Godot 4.6 Stable (.NET) | The C# / .NET build is required |
| Git | Windows: Git for Windows · Linux: git package |
| GitHub Account | Needed to fork and open pull requests |
Optional: Visual Studio Code with the godot-tools extension.
- Head to the Rewrite repository.
- Press the Fork button and create a fork under your account.
Open a terminal and clone your fork into a folder of your choice:
# Navigate to your preferred directory
cd Documents/Rhythia
# Clone your fork (replace YOUR_USERNAME with your GitHub username)
git clone https://github.com/YOUR_USERNAME/Client.git
cd Client
# Fetch large files (textures, audio, etc.)
git lfs fetch --all
git lfs pull- Open Godot 4.6 (.NET).
- Click Import.
- Browse to your cloned repository folder and select
project.godot. - Click Open.
-
Stage any new files you created:
git add ./path/to/your/new/files
-
Commit and push your changes:
git commit -m "Brief description of your change" git push origin indev -
Go to your forked repository on GitHub — you should see a message like "This branch is 1 commit ahead of Rhythia/Client:indev".
-
Click Contribute → Open pull request.
-
Ensure your PR is targeting the
indevbranch of the main repository. -
Review your changes, add a clear title and description, then click Create pull request.
-
Wait for maintainers to review your code and provide feedback.
- Follow existing code style and naming conventions.
- Keep PRs focused — one feature or fix per PR.
- Test your changes locally before submitting.
- For large changes, open an issue first to discuss the approach.
Rhythia is licensed under the GNU Affero General Public License v3.0.
