A unified installer for accessibility mods for Unity-based games using MelonLoader.
| Game | ID | Repository |
|---|---|---|
| Phoenix Wright: Ace Attorney Trilogy | pwaat |
AccessMods/PhoenixWrightTrilogy |
| Doki Doki Literature Club Plus | ddlc |
AccessMods/DDLCPlusAccess |
Simply run the installer and follow the prompts:
AccessModsInstaller.exe
Usage: AccessModsInstaller [options]
Options:
--game, -g <id> Game to install mod for (pwaat, ddlc)
--game-path, -p <path> Path to the game installation directory
--skip-melonloader, -s Skip MelonLoader installation check
--force, -f Overwrite existing files without prompting
--non-interactive, -n Run without user prompts (for automation)
--prerelease, -r Include prerelease versions when downloading
--list, -l List supported games
--help, -h Show this help
# Interactive mode - choose game from menu
AccessModsInstaller.exe
# Install PWAAT mod
AccessModsInstaller.exe --game pwaat
# Install DDLC mod with custom path
AccessModsInstaller.exe --game ddlc --game-path "C:\Games\DDLC"
# Non-interactive installation (for scripting)
AccessModsInstaller.exe --game pwaat --non-interactive --force
# Install prerelease version
AccessModsInstaller.exe --game ddlc --prerelease- Finds the game - Automatically searches Steam library folders
- Downloads the mod - Fetches the latest release from GitHub
- Installs MelonLoader - If not already installed (required for mods)
- Installs mod files:
- Main mod DLL to
Mods/ - UnityAccessibilityLib.dll to game root
- UniversalSpeech.dll to game root
- nvdaControllerClient.dll to game root
- Localization data to
UserData/(if applicable)
- Main mod DLL to
Requires .NET 8.0 SDK.
# Build
dotnet build -c Release
# Publish standalone executable
dotnet publish -c ReleaseThe standalone executable will be in bin/Release/net8.0-windows/win-x64/publish/.
To add support for a new game, create a new GameConfig entry in Games/GameConfigs.cs:
public static GameConfig NewGame { get; } = new GameConfig
{
DisplayName = "Game Display Name",
GameId = "shortid",
SteamFolderName = "Steam Folder Name",
ExecutableName = "Game.exe",
GitHubOwner = "YourOrg",
GitHubRepo = "RepoName",
ModAssetPrefix = "ModZipPrefix",
ModDllName = "YourMod.dll",
HasDataFolder = false,
UserDataSubfolder = null
};Then add it to the All list in the same file.
MIT