faelenor / asset-bundle-analyzer

This tool extracts useful information from Unity asset bundles and stores the information in an SQLite database.
GNU General Public License v3.0
225 stars 44 forks source link

This project has been deprecated!

It has been replaced by a much faster (25-50x) C# tool available here: https://github.com/Unity-Technologies/UnityDataTools

asset-bundle-analyzer

This tool extracts useful information from Unity asset bundles and stores the information in an SQLite database.

Getting started

You need Python 3 to run this program. You will also need a tool such as DB Browser for SQLite to query the database.

This is a command line tool with two mandatory arguments. The first one is the path of the Unity tools folder and the second is the path of the root folder containing the asset bundles to analyze. For example:

python analyzer.py /Applications/Unity/Unity.app/Contents/Tools ~/projects/MyGame/AssetBundles

Note that you must use the same tools that have been used to build the asset bundles, otherwise it will fail.

Optional arguments

Database structure

The main table is called objects and it contains a row for every object in the asset bundles. It's best to use the object_view view instead because it includes useful information from other tables as well. The primary key is called id and it doesn't represent anything, it's just a unique integer. The natural key would have been the (file, object_id) tuple, but dealing with composite keys complicates all queries so a simpler key is used instead.

The columns in object_view are:

Type-specific views

For some types, there is an additional view with type-specific information:

Additional views

Additional views are also provided: