Home

Awesome

DisUnity

An experimental command-line toolset for Unity asset and asset bundle files written in Java, mostly designed for extraction.

Download

The latest build can be found on the releases page.

A note about the versions

0.3 works best with Unity 3.x and has most of the original extraction features.

0.4 is a somewhat incomplete and untested upgrade to support Unity 4 and 5 and has some of the extraction features of 0.3.

0.5 is a code rewrite to properly support all Unity games from 2 to 5 that also comes with unit tests. Right now, it only supports raw file reading and writing without any object deserialization, therefore it also can't extract any asset data directly.

Usage

disunity <command> [options] <file>

Note: depending on the platform, you may need to run disunity.bat (Windows) or disunity.sh (Linux/MacOS). In case the launch script fails, try java -jar disunity.jar.

Available commands (v0.5)

Asset commands

CommandPurpose
asset blocksList data block offsets and sizes. Could be useful for manual extraction.
asset externalsList asset file dependencies.
asset headerDisplay some information from the file header.
asset objectidsList object identifiers (Unity 5 and higher only).
asset objectsList object data entries.
asset typesDisplay embedded runtime type information.
asset unpackUnpacks raw data blocks from a file. Could be useful for manual extraction.

Asset bundle commands

CommandPurpose
bundle listList bundled files.
bundle infoDisplay some information from the file header.
bundle packPack files into a bundle. Requires a bundle property file.
bundle unpackUnpack files from a bundle.