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