Skip to content

v2.0.0 Analyze Schema Improvements

Latest

Choose a tag to compare

@SkowronskiAndrew SkowronskiAndrew released this 09 Jul 18:33
1968f55

Overview

This version gets a major version bump because the schema for the sqlite database has some improvements, that involved changing the schema, so this is a "breaking change". If you have SQL queries or other integration based on analyze databases then you may need to update them when you upgrade from v1.X to v2.X versions.

This version does not itself contain major new features, but it has some important fixes and prepares for upcoming work on analyzing content directory builds. The change in #44 is a substantial size improvement n the analyze database. There are also improvements to how scenes dependencies are represented. And the code is better generalized for representing non-AssetBundle content. It is recommended to upgrade even if you are only analyzing AssetBundle builds.

What's Changed

Schema differences

If you have queries or tooling built on a pre-2.0 analyze database, use the rename maps below to update them.

1. Table / view renames

Archive generalization (issue #68)

UnityDataTools now analyzes more than AssetBundles (Player, Content Archive, ContentDirectory builds), so AssetBundle-centric names for the generic archive concept were generalized. Names genuinely specific to the AssetBundle object were intentionally left unchanged.

Before After
asset_bundles (table) archives
serialized_files.asset_bundle serialized_files.archive
object_view.asset_bundle (and *_asset_bundle aliases: material_/shader_/texture_/dep_) object_view.archive (and *_archive)
in_bundles in_archives
build_report_archive_contents.assetbundle build_report_archive_contents.archive
build_report_archive_contents.assetbundle_content build_report_archive_contents.archive_content

AssetBundle/PreloadData table clarification (issue #82)

The vaguely-named assets/asset_dependencies tables were renamed to reflect what actually populates them (the AssetBundle object's m_Container/m_PreloadTable and PreloadData). They are mostly empty for Player/ContentDirectory builds.

Before After
assets (table) assetbundle_assets
asset_view (view) assetbundle_asset_view
asset_dependencies (table) preload_dependencies
asset_dependencies_view (view) preload_dependencies_view
index asset_dependencies_object preload_dependencies_object
index asset_dependencies_dependency preload_dependencies_dependency

Unchanged (genuinely AssetBundle-object-specific): assetbundle_assets, assetbundle_asset_view, preload_dependencies, AssetBundleHandler.

2. Human-readable types in build reports (issue #55)

  • build_report_packed_asset_contents_view.type now shows the type name (e.g. Texture2D) instead of the numeric Class ID.
  • The underlying build_report_packed_asset_info.type column still stores the numeric class id.

Full Changelog: v1.3.6...v2.0.0