/zizany

A parser for Unity binary assets files.

Primary LanguageC++MIT LicenseMIT

Zizany - Unity binary assets parser

Parse and extract information from Unity binary assets files, for debugging, diffing or mere curiosity.

Requirements

  • cmake
  • clang++ or g++

Installation

$ cmake .
$ make
$ sudo make install

Commands

Dump file content as a json object

$ zizany dump [-tarpdlm] <filename>

Options :

  • -t, --types
    Dump structure of the stored types.
  • -a, --assets
    Dump value of the stored assets.
  • -r, --file-references
    Dump value of the file references.
  • -p, --previews
    Dump value of the stored previews.
  • -d, --type-defaults
    Dump type attributes even if they are equal to their default value.
  • -l, --file-layout
    Dump attributes related to the internal layout of the file.
  • -m, --magic
    Dump attributes whose meaning is not yet known.

Compare two files and print a list of differences

$ zizany diff <base_filename> <other_filename>

Extract previews as png files

$ zizany extract_previews [-o <path>] [<filename> ...]

Options :

  • -o <path>, --output_dir=<path>
    Select a directory where preview files will be saved.
    The directory will be created if it does not already exist.
    Defaults to the current directory.

Using zizany as a git filter

If for some reason you have binary assets in your source repository, you can configure git to use zizany as a text filter and display human readable diffs.

In .gitattributes:

*.asset diff=zizany

In .git/config:

[diff "zizany"]
    textconv = zizany dump -tarp
    binary = true

License

This project is licensed under the terms of the MIT license.

The gdtoa library is copyrighted by Lucent Technologies and distributed under the terms specified in the file libs/gdtoa/LICENSE.txt.