Skip to main content
The mod creator (import wizard) converts existing audio files into shareable .zzar mod packages. It automates the complex process of scanning game files, matching audio, and generating proper mod metadata.

What it does

The mod creator bridges the gap between raw audio files and distributable mods:
  • Import from PCK files: Extract and convert modded PCK files into .zzar packages
  • Import from WEM files: Package loose WEM files by automatically finding where they belong in the game
  • Smart matching: Scans your game installation to determine which PCK files need modification
  • Automatic metadata: Generates proper file mappings for both standalone and BNK-embedded audio
  • Batch processing: Handle multiple PCK files or hundreds of WEM files at once
  • Validation: Ensures output packages are valid and installable

Import modes

The mod creator supports four import workflows:

PCK file import

Select one or more modded PCK files. The creator extracts all audio, compares it to the vanilla game files, and packages only the modified sounds.

PCK folder import

Point to a folder containing modded PCK files. Automatically discovers and processes all PCK files in the folder and subfolders.

WEM file import

Select loose WEM files. The creator scans your entire game to find where each file belongs, supporting both standalone and BNK-embedded locations.

WEM folder import

Point to a folder of WEM files. Recursively finds all WEM files and matches them to game locations automatically.

PCK file workflow

Importing from PCK files is the fastest method when you already have modded game archives:

Step 1: Select PCK files

  • Click Browse Files to select individual PCK files
  • Or click Browse Folder to import an entire directory
  • The creator lists all detected PCK files

Step 2: Extract and compare

The creator automatically:
  1. Extracts all audio from the modded PCK files
  2. Extracts embedded BNK audio from soundbanks inside the PCKs
  3. Scans matching game PCKs from your vanilla installation
  4. Compares file by file to identify which audio was actually modified
  5. Skips identical files to keep the mod package size small
The creator compares file contents, not just names. Only audio files that are actually different from vanilla are included in the final mod package.

Step 3: Map to game locations

For each modified WEM file, the creator determines:
  • Target PCK file: Which game PCK needs to be modified
  • Embedded vs standalone: Whether the file is inside a BNK or standalone
  • BNK parent: If embedded, which BNK soundbank contains it
  • Language ID: Which language subfolder the file belongs to
  • Priority: Prefers SoundBank over Streamed locations when files exist in both
This mapping ensures replacements are injected in the correct location.

Step 4: Generate package

The final .zzar package contains:
  • metadata.json with file mappings
  • wem_files/ directory with all modified WEM files
  • Optional thumbnail image

WEM file workflow

Importing from loose WEM files requires game scanning to locate where each file belongs:

Step 1: Select WEM files

  • Click Browse Files to select individual WEM files
  • Or click Browse Folder to import a directory
  • The creator lists all WEM files by their numeric ID

Step 2: Scan game files

The creator performs an exhaustive scan:
  1. Loads all game PCK files recursively from your game directory
  2. Indexes each PCK to build a database of file IDs
  3. Scans every BNK soundbank to find embedded WEM files
  4. Maps WEM IDs to locations across all PCKs and BNKs
  5. Resolves duplicates using priority rules (SoundBank > Streamed)
This scan can take several minutes for large WEM sets. The creator shows progress as it processes each game PCK file.

Step 3: Priority resolution

When a WEM ID appears in multiple locations (common for voice lines), the creator chooses:
  1. SoundBank PCKs over Streamed PCKs (priority 1 vs 0)
  2. BNK-embedded over standalone (embedded is higher quality)
  3. First found if priorities are equal
This ensures replacements target the most important location.

Step 4: Copy and package

The creator:
  • Copies WEM files to wem_files/ directory
  • Generates metadata with proper file mappings
  • Packages everything into a .zzar file

Metadata configuration

Before finalizing the mod package, you provide metadata:

Required fields

  • Name: Mod title (e.g., “Better Combat Sounds”)
  • Author: Your name or username
  • Version: Semantic version (e.g., “1.0.0”)

Optional fields

  • Description: Detailed explanation of what the mod changes
  • Thumbnail: Image file (PNG/JPG) for visual identification
Good descriptions help users understand what your mod does and which language/game version it’s for. Include installation notes and compatibility information.

File mapping details

The metadata file contains replacement mappings in this structure:
{
  "SoundBank_VO_En_Nekomata.pck": {
    "123456789": {
      "wem_file": "wem_files/123456789.wem",
      "sound_name": "",
      "lang_id": 0,
      "bnk_id": 987654321,
      "file_type": "bnk"
    }
  }
}
Each replacement specifies:
  • PCK file: Which game archive to modify
  • File ID: Numeric identifier of the audio to replace
  • WEM file path: Location in the mod package
  • Lang ID: Language folder index (0 for Full, varies for voice)
  • BNK ID: Parent soundbank ID (null if standalone)
  • File type: “wem” (standalone) or “bnk” (embedded)

Best practices

PCK imports

  • Use matching game versions: Import PCKs from the same game version as your installation to ensure accurate comparison
  • Preserve folder structure: When importing multiple PCKs, maintain the original folder structure (Full/En/Jp/etc.)
  • Test before distributing: Install and test your generated mod to verify all replacements work correctly

WEM imports

  • Name by ID: Name WEM files by their numeric ID (e.g., 123456789.wem) for automatic matching
  • Separate by language: Keep voice line WEMs in separate folders by language to make organization clearer
  • Verify source: Make sure your WEM files are actually intended for ZZZ and not from other games

Metadata

  • Use semantic versioning: Follow major.minor.patch format (1.0.0, 1.1.0, 2.0.0)
  • Write clear descriptions: Explain what’s changed, which characters/sounds are affected, and any known issues
  • Add thumbnails: Visual previews help users identify and remember your mod
  • Credit sources: If using community resources, credit the original creators

Advanced features

Recursive folder scanning

When you select a folder, the creator automatically:
  • Detects if the folder contains “SoundBank” or “Streaming” subfolders
  • Uses recursive search (rglob) if game-like structure is detected
  • Uses flat search (glob) for simple folders
  • Preserves relative paths when game structure is found
This makes it easy to import entire mod folder structures.

Duplicate detection

During PCK import, the creator:
  • Compares extracted WEM bytes to vanilla WEM bytes
  • Skips files that are byte-for-byte identical
  • Reports how many files were identical (and excluded)
  • Only packages actually modified files
This keeps mod sizes small and installation fast.

BNK extraction

The creator handles complex BNK structures:
  • Parses BNK DIDX sections to find embedded WEMs
  • Extracts embedded audio data from BNK files
  • Writes temporary WEM files for processing
  • Cleans up temporary files after completion
This allows packaging mods that replace embedded voice lines.

Progress tracking

The import process shows detailed progress:
  • 5%: Starting extraction/file selection
  • 30%: Extracting audio from PCKs
  • 60%: Scanning game files to match IDs
  • 70%: Building replacement mappings
  • 90%: Copying files and generating metadata
  • 100%: Creating final ZIP package
Each step includes status messages explaining the current operation.

Output validation

Before completing the import, the creator validates:
  • All referenced WEM files exist in the package
  • Metadata JSON is properly formatted
  • Required fields (name, author, version) are present
  • PCK names and file IDs are valid
  • Package structure matches .zzar specification
Invalid packages are rejected with specific error messages.

Troubleshooting

“Game audio directory not set”: Configure your game directory in Settings before importing WEM files. “No matching game PCKs found”: Your game installation may be incomplete, or the PCK names don’t match. Verify game files. “Failed to extract mod package”: The input PCK file may be corrupted. Verify the file can be opened with a ZIP tool. Very long import times: Importing many WEM files requires scanning all game PCKs. This is normal and may take 5-10 minutes. “WEM files not found in game”: The WEM IDs don’t exist in your game version. Make sure the files are for the correct game and version. Package too large: If your mod is over 100MB, consider splitting it into multiple mods by character or category.

Build docs developers (and LLMs) love