New "serialized-file" command with docs and new test data#47
Merged
SkowronskiAndrew merged 7 commits intov1_3from Dec 31, 2025
Merged
New "serialized-file" command with docs and new test data#47SkowronskiAndrew merged 7 commits intov1_3from
SkowronskiAndrew merged 7 commits intov1_3from
Conversation
Simple player build including build report
Importers shouldn't make it into the build so remove them from the list. Also add a todo as the place that can use the TypeIdRegistry
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a new serialized-file command for quick inspection of SerializedFile metadata, complementing the existing analyze command with a lightweight alternative for examining object lists and external references without database generation.
Key Changes:
- New
serialized-filecommand withobjectlistandexternalrefssubcommands supporting both text and JSON output formats - TypeIdRegistry utility class mapping Unity TypeIds to human-readable type names for files without TypeTree data
- Comprehensive test suite validating command functionality against new Player build test data (with and without TypeTrees)
Reviewed changes
Copilot reviewed 10 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| UnityFileSystem/TypeIdRegistry.cs | Registry mapping common Unity TypeIds to type names as fallback when TypeTree unavailable |
| UnityDataTool/SerializedFileCommands.cs | Command handlers for listing external references and objects in SerializedFiles |
| UnityDataTool/Program.cs | CLI integration for new serialized-file command with text/JSON format options |
| UnityDataTool.Tests/SerializedFileCommandTests.cs | Test suite covering command output formats, cross-validation, and error handling |
| TestCommon/Data/PlayerWithTypeTrees/README.md | Documentation for new test data containing complete Player build with TypeTrees |
| TestCommon/Data/PlayerNoTypeTree/README.md | Documentation for test data variant without TypeTree information |
| Documentation/unitydatatool.md | Updated main docs with serialized-file command examples |
| Documentation/command-serialized-file.md | Complete command reference with use cases and examples |
| Analyzer/SQLite/Handlers/PackedAssetsHandler.cs | TODO comment for future TypeIdRegistry integration in BuildReport importing |
| AGENTS.md | Updated architecture documentation reflecting new command and TypeIdRegistry |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Regenerate type id registry from the raw ClassIDReference.md file - the original list had some errors
| // TODO: Ideally we would also populate the type table if the content.Type is | ||
| // not already in that table, and if we have a string value for it in TypeIdRegistry. That would | ||
| // make it possible to view object types as strings, for the most common types, when importing a BuildReport | ||
| // without the associated built content. |
discovered by code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.