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
Command | Purpose |
---|---|
asset blocks | List data block offsets and sizes. Could be useful for manual extraction. |
asset externals | List asset file dependencies. |
asset header | Display some information from the file header. |
asset objectids | List object identifiers (Unity 5 and higher only). |
asset objects | List object data entries. |
asset types | Display embedded runtime type information. |
asset unpack | Unpacks raw data blocks from a file. Could be useful for manual extraction. |
Asset bundle commands
Command | Purpose |
---|---|
bundle list | List bundled files. |
bundle info | Display some information from the file header. |
bundle pack | Pack files into a bundle. Requires a bundle property file. |
bundle unpack | Unpack files from a bundle. |