Comparing benpope82:main...Unity-Technologies:main · benpope82/UnityDataTools · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: benpope82/UnityDataTools
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: Unity-Technologies/UnityDataTools
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 12 commits
  • 177 files changed
  • 2 contributors

Commits on May 15, 2026

  1. Improve dump command: add --stdout, refactors, more tests (Unity-Tech…

    …nologies#69)
    
    Usability improvements for the case of examining a single object, easier pipe support etc.
    
    Also extensive cleanup of the implementation, and more extensive test coverage, to put us in better position to add other improvements in upcoming PRs (hex, array hashing, JSON support etc)
    SkowronskiAndrew authored May 15, 2026
    Configuration menu
    Copy the full SHA
    9483aa6 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2026

  1. [CBD-2146] Regenerate TypeIdRegistry from engine type list; add gener…

    …ator
    
    TypeIdRegistry maps Unity ClassIDs (PersistentTypeID) to type names. It is
    needed as a fallback when a serialized object's TypeTree is unavailable, and
    when only an ID is known with no file to read at all (e.g. resolving the type
    of a PackedAsset referenced from a BuildReport). In those cases the name cannot
    be recovered from the data, so a static map in the tool is required.
    
    The map was previously built by hand from the public ClassIDReference page and
    pruned manually, with no repeatable way to refresh it as new types are added.
    TypeIdRegistryGenerator (hosted in the UnityFileSystemTestData project) now
    produces the entries from the live engine type list (UnityEditor.UnityType):
    runtime types are kept, editor-only types are dropped via the isEditorOnly
    flag, a small allowlist of BuildReporting types is force-included (needed for
    BuildReport inspection), and test/fake types from development builds are
    filtered out. Run it via Tools/Generate TypeIdRegistry or -executeMethod to
    regenerate the block for a new Unity version.
    SkowronskiAndrew committed Jun 1, 2026
    Configuration menu
    Copy the full SHA
    0c36a90 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2026

  1. [Unity-Technologies#70] Fix analyze CRC for cah:/ ContentDirectory re…

    …sources; add --skip-crc (Unity-Technologies#73)
    
    Fixes for CRC calculation
    Refactor and improve maintenance of PPtrAndCrcProcessor
    SkowronskiAndrew authored Jun 12, 2026
    Configuration menu
    Copy the full SHA
    99ce157 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2026

  1. Document ContentLayout.json and publish its schema (Unity-Technologie…

    …s#75)
    
    Add Documentation/contentlayout.md describing the ContentLayout.json file
    produced by content directory builds, and publish the C# schema as a copy of
    the Unity source type. 
    
    Move the JSON model classes (BuildLayout, ContentLayout)
    into a new dependency-free UnityDataModels project so they are easier to find
    and can be reused by tools that don't depend on the analyzer or SQLite.
    SkowronskiAndrew authored Jun 15, 2026
    Configuration menu
    Copy the full SHA
    74ef49a View commit details
    Browse the repository at this point in the history
  2. [Unity-Technologies#49] Improve analyze file specification, CLI help …

    …and docs improvements (Unity-Technologies#76)
    
    * Add some description for UnityDataTool --help
    * AnalyzeTool - pass parameters through structure
    * [Unity-Technologies#49] Allow analyze to accept multiple file or directory paths
    * Clarify UnityFileSystemApi section in README
    SkowronskiAndrew authored Jun 15, 2026
    Configuration menu
    Copy the full SHA
    1ac7e19 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2026

  1. [Unity-Technologies#77] Detect missing TypeTrees up front in analyze …

    …and dump (Unity-Technologies#78)
    
    Analyzing AssetBundles whose SerializedFiles have no TypeTrees handed the
    files to the native loader, which emitted misleading "Invalid serialized
    file version" errors and could crash the process with an access violation
    (0xC0000005)
    
    Fix is to detect missing TypeTrees before the native open and skip such files cleanly,
    
    Fix applies to both dump and analyze commands.
    Fix applies to Player data and other build types in addition to AssetBundles.
    SkowronskiAndrew authored Jun 16, 2026
    Configuration menu
    Copy the full SHA
    40d7578 View commit details
    Browse the repository at this point in the history
  2. Update version to 1.3.6

    Bump version now that 1.3.5 binaries have been published.
    SkowronskiAndrew committed Jun 16, 2026
    Configuration menu
    Copy the full SHA
    a545d27 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2026

  1. Update UnityFileSystemApi to 6000.6.0a7

    Replace update to builds extracted from 6000.6.0a7
    
    * Windows was extracted by installing and copying file from C:\Program Files\Unity 6000.6.0a7\Editor\Data\Tools
    * Linux was extracted from Unity-6000.6.0a7.tar.xz from Unity-6000.6.0a7.tar.xz\Unity-6000.6.0a7.tar\Editor\Data\Tools\ (Using 7z)
    * OSX was extracted from ARM64 build Unity-6000.6.0a7.pkg from Unity.pkg.tmp\Payload\Payload~\.\Unity\Unity.app\Contents\Frameworks\ (Using 7z)
    SkowronskiAndrew committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    f55ea6f View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2026

  1. [Unity-Technologies#72] Add find-refs test coverage and fix its datab…

    …ase/null-ref bugs (Unity-Technologies#79)
    
    * Introduce second UnityProject
    
    Rename UnityFileSystemTestData and introduce a LeadingEdge project for testing Content Directory builds and other newer features that require Unity >=6.6.
    Add AGENTS.md explaining the relationship between these projects and the referenced files checked in to TestCommon
    
    * Dump command tested with core numeric field types and other serialization primitives
    
    * [Unity-Technologies#72] Fix find-refs database open and null-ref crashes, add test coverage
    
    find-refs had no automated tests and two bugs that broke it against any
    current analyze database:
    
    - Issue Unity-Technologies#72: the database was opened with a hand-written connection string
      using the legacy System.Data.SQLite "Version=3" keyword, which
      Microsoft.Data.Sqlite rejects. Build the connection string with
      SqliteConnectionStringBuilder instead (matching SQLiteWriter). Fixed the
      same broken string in ExpectedDataGenerator.
    
    - A ScriptableObject is a MonoBehaviour whose m_GameObject PPtr is 0, so its
      game_object column is a non-null id matching no row; the game_object/script
      subqueries then return NULL and GetString threw. Null-check those reads.
    
    Also add a --stdout option to find-refs (mutually exclusive with -o), mirroring
    dump, and update command-find-refs.md.
    
    Add FindRefsTests covering both bugs, name/type lookup and disambiguation,
    object-id lookup, --find-all, missing objects, empty refs table, the
    --stdout/-o validator, and direct refs-table queries. Tests run against the
    LeadingEdge AssetBundle reference build.
    SkowronskiAndrew authored Jul 2, 2026
    Configuration menu
    Copy the full SHA
    88984ab View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2026

  1. [Unity-Technologies#44] Normalize refs table to deduplicate property …

    …strings (Unity-Technologies#80)
    
    * Update version to 2.0 - Major version bump because the analyze schema will get some changes.
    
    * [Unity-Technologies#44] Normalize refs table to deduplicate property strings
    
    The refs table repeated the property_path/property_type strings on every
    row, making it by far the largest part of the analyze database. Store the
    strings once in new property_names/property_types lookup tables and keep only
    integer ids in refs. A refs_view rejoins them to expose the original strings.
    
    - Fix view_material_texture_refs, which used double-quoted string literals
      that SQLite parsed as identifiers (pre-existing, failed on old databases too).
    
    * Adjust expected link to build reporting documentation
    SkowronskiAndrew authored Jul 3, 2026
    Configuration menu
    Copy the full SHA
    739d383 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bdeba63 View commit details
    Browse the repository at this point in the history
  3. Add comments documenting how AssetBundles are tracked and other key a…

    …spects of the Analyze schema
    
    add comments explaining some of the less intuitive aspects of the assets and asset_dependencies table, and when it is actually populated.
    Document also special case handling of scene roots (including mention of a discovered bug, issue 81)
    SkowronskiAndrew committed Jul 3, 2026
    Configuration menu
    Copy the full SHA
    1438138 View commit details
    Browse the repository at this point in the history
Loading