Overview
Resource Packs provide a standardized way to package, distribute, and manage custom textures for games. They use ZIP archives with metadata to enable easy installation, priority management, and removal.Specification Version
This documentation covers Resource Pack Specification v2, which adds compression support. Version 1 packs are also supported.Pack Structure
Game ID Directories
TheGAMEID folder name determines which games use the pack:
- Full Game ID:
SMNE01(New Super Mario Bros. Wii, NTSC) - Region-agnostic:
SMN(New Super Mario Bros. Wii, all regions) - Multiple directories: Create multiple
GAMEIDfolders for multi-game packs
Manifest File
Required Fields
Display name of your texture pack
Alphanumeric identifier (used for internal tracking)
Version string (any format)
Optional Fields
Description of what the pack does
List of author names
URL to pack website (must include protocol:
https://)v2 only: Allows ZIP compression (default:
false)Example Manifest
Manifests missing required fields will not load. Validate your JSON before packaging.
Logo Image
Requirements
- Format: PNG only
- Dimensions: Maximum 256×256 pixels
- Alpha channel: Supported (transparency allowed)
- Location:
logo.pngin ZIP root
Usage
The logo displays in Dolphin’s Resource Pack manager, helping users identify your pack visually.Texture Files
Naming Convention
Texture filenames must match Dolphin’s dumped texture names:Finding Texture Names
Supported Formats
- PNG: Primary format, supports transparency
- DDS: DirectDraw Surface (advanced)
Compression
Version 1 Behavior
Create uncompressed ZIPs using:- 7-Zip: Select “Store” compression level
- Command line:
zip -0 -r pack.zip *
Version 2 Behavior
With"compressed": true in manifest, standard ZIP compression is allowed:
Installation
User Installation
-
Copy ZIP file to:
- Open Dolphin Resource Pack Manager
- Enable the pack
Installation Location
Windows:Activation Process
When a resource pack is activated:-
Dolphin copies textures from
pack.zip/textures/to: - Higher priority packs overwrite files from lower priority packs
- Textures remain in place until pack is deactivated
Priority System
Resource packs have user-defined priority order in the manager:- Higher position = Higher priority
- Conflicts resolved by taking the higher-priority pack’s file
- Change order by dragging packs in the manager
Activate “Load Custom Textures” in Graphics Settings > Advanced for packs to take effect.
Deactivation Process
When a resource pack is deactivated:-
Dolphin removes the pack’s texture files from
Load/Textures/ - If a lower-priority pack provides the same texture, it remains (was already overwritten)
- If no other pack provides a texture, it’s deleted
Conflict Resolution
When multiple packs provide the same texture:- Higher priority pack wins
- Lower priority files are not copied (overwritten)
- Changing priority re-copies files in new order
Example
Legacy Migration
If you have pre-resource-pack custom textures:- Dolphin detects them on first run with Resource Pack feature
- Creates
legacy.zipcontaining all unassigned custom textures legacy.zipappears as a resource pack in the manager- Manage like any other pack
Creating a Pack
Distribution
Best Practices
- Compress with v2: Use
"compressed": truefor smaller downloads - Include readme: Add installation instructions for users
- Version properly: Increment version for updates
- Host reliably: Use stable hosting for
websiteURL - License clearly: Include license information for textures
File Size Tips
- Optimize PNGs with tools like
pngcrushoroptipng - Use appropriate texture resolution (don’t over-scale)
- Remove unused textures from pack
- Test compressed vs uncompressed trade-offs
Troubleshooting
Pack Won't Load
Pack Won't Load
- Verify all required manifest fields present
- Check JSON syntax (use validator)
- Ensure ZIP isn’t corrupted
- For v1: Verify ZIP is uncompressed (store-only)
Textures Not Appearing In-Game
Textures Not Appearing In-Game
- Enable “Load Custom Textures” in Graphics Settings
- Verify pack is activated (checked) in Resource Pack Manager
- Check texture filenames match dumped names exactly
- Ensure Game ID folder name is correct
Wrong Textures Showing
Wrong Textures Showing
- Check pack priority order in manager
- Higher packs override lower packs
- Deactivate conflicting packs to test
Can't Remove Pack
Can't Remove Pack
- Deactivate pack first (uncheck in manager)
- Wait for deactivation to complete
- Then delete ZIP file
- Manually clean
Load/Textures/if needed
Related Topics
Dynamic Input Textures
Create controller-aware button prompt textures
Graphics Mods
Modify rendering behavior beyond textures