A Windows desktop application for creating and managing YARG (Yet Another Rhythm Game) mod packages. YAMT provides an intuitive interface for editing mod metadata, managing dependencies, configuring settings, and packaging mods into .yargmod files.
- Mod Metadata Management: Edit mod information including name, author, version, description, and changelog
- Automatic GUID Generation: GUIDs are automatically generated from mod category, name, and author
- Dependency Management: Add, edit, and remove mod dependencies with support for required, optional, and conflict dependencies
- Settings Configuration: Create hierarchical settings groups with options and input fields
- Icon Management: Set custom mod icons with drag-and-drop support and automatic fallback to default icon
- Real-time Validation: Automatic validation of mod structure and metadata with helpful status messages
- Package Creation: Create
.yargmodpackage files ready for distribution - Dark Theme UI: Modern dark-themed interface for comfortable use
- Windows 10 or later
- .NET 6.0 Runtime (included in the release)
- .NET 6.0 SDK or later
- Visual Studio 2022 or Visual Studio Code (optional)
-
Clone the repository:
git clone https://github.com/yourusername/YAMT.git cd YAMT/YAMT -
Restore dependencies:
dotnet restore
-
Build the project:
dotnet build -c Release
-
The executable will be in
bin/Release/net6.0-windows/YAMT.exe
- Select a Mod Folder: Click "Select Folder" or drag-and-drop a mod folder into the application
- Edit Mod Information: Fill in the Basic Information fields (Category, Mod Name, Author Name, Version)
- Add Dependencies (Optional): Use the Dependencies panel to add required or optional mod dependencies
- Configure Settings (Optional): Use the Settings tab to create configurable options for your mod
- Set Mod Icon (Optional): Click "Change Icon" or drag-and-drop an image file onto the icon preview
- Package Mod: Click "Package" to create a
.yargmodfile ready for distribution
A YARG mod folder should contain:
mod.json- Mod metadata file (auto-generated/edited by YAMT)Mod.dll- The main mod DLL (exactly one required in root folder)libs/- Folder containing dependency DLLs (optional)icon.png(or other image formats) - Mod icon (optional)- any additional files needed for mod
The mod.json file contains all mod metadata:
{
"GUID": "com.Category.ModName.AuthorName",
"Category": "Category",
"Mod Name": "Mod Name",
"Author Name": "Author Name",
"Version": "1.0.0",
"Description": "Mod description",
"Changelog": "Changelog text",
"Dependencies": [
{
"guid": "com.OtherMod.Category.Name.Author",
"version": "1.0.0"
}
],
"Settings": [
{
"name": "Settings Group",
"options": [
{
"title": "Option Title",
"description": "Option description",
"canToggle": false,
"inputFields": [
{
"variableName": "variableName",
"variableType": "int",
"defaultValue": "10"
}
]
}
]
}
]
}Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the YARG (Yet Another Rhythm Game) community
- Uses Newtonsoft.Json for JSON serialization