The Game Mod Descriptor is a JSON schema that defines how game modifications (mods) are packaged and loaded in Dolphin Emulator. This format enables proper integration of game mods, particularly those using the Riivolution patch system.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dolphin-emu/dolphin/llms.txt
Use this file to discover all available pages before exploring further.
Schema Overview
The descriptor file uses JSON Schema to validate mod configuration files. The official schema is available at:Root Object
The root object must be a valid JSON object with the following required and optional properties.Required Properties
| Property | Type | Description |
|---|---|---|
type | string | Must be exactly "dolphin-game-mod-descriptor" |
version | integer | Descriptor format version number |
base-file | string | Path to the base game file this mod applies to |
Optional Properties
| Property | Type | Description |
|---|---|---|
display-name | string | Human-readable name for the mod |
maker | string | Author or creator of the mod |
banner | string | Path to banner image for the mod |
riivolution | object | Riivolution patch configuration |
Example Structure
Field Specifications
type
Type:stringPattern:
^dolphin-game-mod-descriptor$Required: Yes Must exactly match the string
"dolphin-game-mod-descriptor". This identifies the file as a valid Dolphin game mod descriptor.
version
Type:integerRequired: Yes Indicates the version of the descriptor format being used. This allows for future schema evolution while maintaining backward compatibility.
base-file
Type:stringRequired: Yes Path to the base game file (ISO, WBFS, etc.) that this mod applies to. Can be relative or absolute.
display-name
Type:stringRequired: No Human-readable name for the mod as it should appear in Dolphin’s interface.
maker
Type:stringRequired: No Identifies the creator, author, or team responsible for the mod.
banner
Type:stringRequired: No Path to a banner image file for the mod. Typically displayed in Dolphin’s game list or mod selection interface.
Riivolution Object
Theriivolution object configures Riivolution-based patches, which are commonly used for Wii game modifications.
riivolution Properties
| Property | Type | Required | Description |
|---|---|---|---|
patches | array | Yes | Array of patch configurations |
patches Array
Each patch object in thepatches array has the following structure:
| Property | Type | Required | Description |
|---|---|---|---|
xml | string | Yes | Path to the Riivolution XML patch file |
root | string | Yes | Root directory for patch file operations |
options | array | Yes | Array of option configurations |
Patch Object Example
Patch Object Example
options Array
Each option object configures a specific Riivolution option.| Property | Type | Required | Description |
|---|---|---|---|
choice | integer | Yes | Selected choice index for this option |
section-name | string | No | Name of the section this option belongs to |
option-id | string | No | Unique identifier for the option |
option-name | string | No | Display name for the option |
The
choice property is required and specifies which choice is selected for this option (typically 0 for disabled, 1+ for enabled/variants).Complete Example
Validation Rules
Type Pattern
Thetype field must match the exact pattern:
Required Fields
At the root level:typeversionbase-file
riivolution object:
patches
xmlrootoptions
choice
Type Constraints
| Field | Constraint |
|---|---|
type | Must be string matching pattern |
version | Must be integer |
base-file | Must be string |
display-name | Must be string |
maker | Must be string |
banner | Must be string |
patches | Must be array |
xml | Must be string |
root | Must be string |
options | Must be array |
section-name | Must be string |
option-id | Must be string |
option-name | Must be string |
choice | Must be integer |
Usage in Dolphin
To use a game mod descriptor:- Create a JSON file following this schema
- Place it in Dolphin’s load directory alongside your game files
- Configure the mod options as needed in the
riivolution.patchesarray - Launch the game through Dolphin