An experimental toolset for Unity asset and asset bundle files, mostly designed for extraction.
The latest build can be found on the releases page.
disunity -c <command> <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.
dump - Converts the asset file to plain text, similar to the binary2text tool shipped with the Unity editor.
dump-struct - Like dump, but just for the data structure.
extract - Extracts supported asset content and stores it in regular files. Default command if the -c parameter is omitted.
extract-raw - Extracts the raw serialized binary data from the asset.
learn - Learns the structure from an Unity webplayer bundle (*.unity3d) and stores any new structs in the database file structdb.dat. Its data is required to deserialize standalone asset files, which usually don't contain any structure data.
info - Outputs various information for asset and asset bundle files.
info-stats - Outputs class usage statistics for asset files.
unbundle - Extracts Unity webplayer bundles (*.unity3d).
fixrefs - Converts the relative paths for shared assets in compiled scene files to absolute paths. This allows the scenes to be opened in the Unity editor properly.
Note: If the file and its dependencies are moved to a different folder, disunity needs to be run again with this command.
split - Attempts to split an asset file to multiple smaller asset files, usually one for each object.
Run disunity with the -h parameter for further usage.