.zzar format is a ZIP-based package format for distributing audio replacement mods for Zenless Zone Zero. It contains mod metadata, replacement audio files, and optional assets like thumbnails.
Package Structure
A.zzar file is a ZIP archive with the following structure:
metadata.json
Themetadata.json file contains all mod information and replacement mappings.
Required Fields
Package format version. Current:
"1.0"Human-readable mod name.
Mod author or creator name.
Mod version in semantic versioning format (e.g.,
"1.0.0", "2.1.3")Map of PCK files to replacement definitions. See Replacements Structure.
Optional Fields
Mod description or notes.
Relative path to thumbnail image (e.g.,
"thumbnail.png").ISO 8601 timestamp of mod creation (e.g.,
"2024-01-15T10:30:00").Version of ZZAR used to create the mod (e.g.,
"1.0.0").Replacements Structure
Thereplacements object maps PCK files to their file replacements:
PCK Level
Streamed_SFX_1.pck,Streamed_SFX_2.pck- Streamed sound effectsSoundBank_SFX_1.pck,SoundBank_SFX_2.pck- Soundbank filesStreamed_English_1.pck- English voice linesStreamed_Japanese_1.pck- Japanese voice linesStreamed_Chinese_1.pck- Chinese voice lines
File Level
Replacement Object
Relative path to replacement WEM file within the package (e.g.,
"wem_files/12345.wem").Human-readable name or description of the sound.
Language ID for this replacement:
0= SFX (sound effects)1= English2= Chinese3= Japanese4= Korean
BNK soundbank ID if file is inside a soundbank, otherwise
null.File type, currently always
"wem" for audio files.Complete Example
Creating .zzar Packages
Using ModPackageManager
Manual Creation
Validation
TheModPackageManager.validate_mod_package() method checks:
- File is valid ZIP
- metadata.json exists at root
- Required fields present:
nameauthorversionreplacements
- All referenced WEM files exist in archive
- format_version present (defaults to
"1.0"if missing)
Version Handling
When installing a mod with the same name:- Newer version: Replaces existing installation
- Same version: Replaces existing installation
- Older version: Installation is skipped
File Paths
All paths in metadata are relative to package root:wem_files/12345.wemaudio/sfx/sound.wemthumbnail.png
/absolute/path/file.wem(absolute paths)../outside/package.wem(parent directory)C:\\Windows\\file.wem(Windows absolute)
Thumbnail Guidelines
Recommended:- Format: PNG or JPEG
- Size: 512x512 pixels
- Aspect ratio: 1:1 (square)
- File size: < 500 KB
Best Practices
Naming
- Use descriptive mod names
- Include character/feature in name
- Example:
"Ellen Voice Pack","Custom UI Sounds"
Versioning
- Use semantic versioning:
MAJOR.MINOR.PATCH - Increment MAJOR for breaking changes
- Increment MINOR for new features
- Increment PATCH for bug fixes
Organization
- Group related WEM files together
- Use subdirectories in
wem_files/if needed - Include descriptive
sound_namevalues
Documentation
- Use
descriptionfield to explain changes - List compatibility requirements
- Credit original audio sources
Distribution
Share.zzar files directly:
- Upload to GameBanana, Nexus Mods, etc.
- Share via direct download links
- Users install via ZZAR GUI or CLI
Compatibility
- Forward compatible: Older ZZAR can read newer formats (within same major version)
- Backward compatible: Newer ZZAR can read older formats
- format_version allows future format changes
Notes
- Package files are standard ZIP archives
- Can be opened with any ZIP tool
- WEM files must be valid Wwise audio
- File IDs must match game files
- Use ZZAR audio browser to find file IDs
- BNK-embedded files require correct
bnk_id