Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YAMT - Yet Another Mod Tool

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.

Features

  • 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 .yargmod package files ready for distribution
  • Dark Theme UI: Modern dark-themed interface for comfortable use

Requirements

  • Windows 10 or later
  • .NET 6.0 Runtime (included in the release)

Building from Source

Prerequisites

  • .NET 6.0 SDK or later
  • Visual Studio 2022 or Visual Studio Code (optional)

Build Instructions

  1. Clone the repository:

    git clone https://github.com/yourusername/YAMT.git
    cd YAMT/YAMT
  2. Restore dependencies:

    dotnet restore
  3. Build the project:

    dotnet build -c Release
  4. The executable will be in bin/Release/net6.0-windows/YAMT.exe

Usage

  1. Select a Mod Folder: Click "Select Folder" or drag-and-drop a mod folder into the application
  2. Edit Mod Information: Fill in the Basic Information fields (Category, Mod Name, Author Name, Version)
  3. Add Dependencies (Optional): Use the Dependencies panel to add required or optional mod dependencies
  4. Configure Settings (Optional): Use the Settings tab to create configurable options for your mod
  5. Set Mod Icon (Optional): Click "Change Icon" or drag-and-drop an image file onto the icon preview
  6. Package Mod: Click "Package" to create a .yargmod file ready for distribution

Mod Structure

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

Mod.json Format

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"
            }
          ]
        }
      ]
    }
  ]
}

Contributing

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Built for the YARG (Yet Another Rhythm Game) community
  • Uses Newtonsoft.Json for JSON serialization

About

YAMT a.k.a (Yet Another Mod Tool) - A tool for creating YARG mod packages

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages