Version: Unity 6.2 (6000.2)
Language : English
Optimizing AssetBundle memory usage
Avoiding asset duplication

Analyzing AssetBundles

Unity provides several tools to inspect the internal structure and contents of AssetBundles to help with troubleshooting.

WebExtract and Binary2Text

WebExtract and Binary2Text are low-level command-line tools included with every Unity Editor installation.

  • WebExtract: Extracts the files embedded within an AssetBundle, similar to unzipping an archive. It creates a folder (named after the AssetBundle) containing its internal files in the same directory as the AssetBundle.
  • Binary2Text: Converts a binary SerializedFile (the core Unity data format) into a human-readable text format, similar to Unity’s YAML format.

You can find these tools in the following default install locations:

Windows:

C:\Program Files\Unity\Editor\Data\Tools

macOS

/Applications/Unity/Unity.app/Contents/Tools

You must first run WebExtract with the command WebExtract <FilePathToSceneBundle>, and then run binary2text.exe <path_to_extracted_SerializedFile> to creates a .txt file alongside the SerializedFile.

Adding -typeinfo to binary2text.exe provides a detailed listing of all type information within the SerializedFile. This includes Unity types, MonoBehaviour-based C# classes, and [SerializeReference] types, which is useful for debugging code stripping, missing types, or serialization mismatches between Unity versions.

Binary2Text requires the exact same version of Unity that was used to create the SerializedFile. The output can take up gigabytes of space for large AssetBundles, making it hard to manipulate.

UnityDataTools

UnityDataTools is a newer alternative to WebExtract and Binary2Text. It contains the following features:

  • dump Option: Opens an AssetBundle and produces text dumps of each SerializedFile it contains directly in the current working folder, without requiring a full binary extraction first. This behavior is similar to binary2text.
  • analyze Option: Populates an SQLite database with detailed information about the AssetBundle’s contents. This is faster than binary2text and can handle large object and asset counts that UI tools might struggle with.

For more information, refer to the UnityDataTools repository.

BuildReport

The BuildReport file (located at Library/LastBuild.buildreport in your project directory) is a Unity SerializedFile that records the content of each AssetBundle. This SerializedFile contains detailed information about the build, including timings for build steps and a granular view of AssetBundle contents. You can view this file in the following ways:

  • Build Report InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
    See in Glossary
    : Use the Build Report Inspector package to view the BuildReport contents within the Editor.
  • Project Auditor: Project Auditor can view BuildReports, but might struggle with large builds that involve many objects.
  • Programmatic Access: Use BuildReport to access to the data within the BuildReport file.
  • Text Format: Enable Preferences > Diagnostics > BuildReportingEditor > SerializeBuildReportAsText to output the BuildReport directly as YAML text.

Additional resources

Optimizing AssetBundle memory usage
Avoiding asset duplication