-
Notifications
You must be signed in to change notification settings - Fork 63
Restore "assets" table population and documentation tweaks #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The AssetBundleHandler got lost in recent code change so restore it. Add a few cross links to the new Addressables Build Layout parsing. Fix the section "Matching content back to the source asset" because it wasn't explaining that some source asset path are available in the build output (for AssetBundle explicit assets, and Player build scenes)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR restores the AssetBundleHandler that was inadvertently removed in a recent code change, and improves documentation clarity around asset path availability in build outputs. The changes clarify that only explicitly added assets (for AssetBundles) and scenes (for Player builds) have their source paths recorded in the build output, while implicitly included assets do not.
Key Changes:
- Restored
AssetBundleHandlerregistration to populate theassetstable - Updated documentation to clarify which asset paths are available in build outputs
- Added cross-references to Addressables Build Layout parsing documentation
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Documentation/analyze-examples.md | Clarified asset path availability in build outputs and added cross-references to Addressables features |
| Analyzer/SQLite/Writers/SerializedFileSQLiteWriter.cs | Restored registration of AssetBundleHandler to re-enable assets table population |
| Analyzer/SQLite/Parsers/SerializedFileParser.cs | Added .hash to the list of ignored file extensions |
| Analyzer/SQLite/Handlers/AssetBundleHandler.cs | New handler class for processing AssetBundle objects and populating assets table |
| Analyzer/README.md | Updated file reference and added documentation about supporting other file formats |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| { | ||
| ".txt", ".resS", ".resource", ".json", ".dll", ".pdb", ".exe", ".manifest", ".entities", ".entityheader", | ||
| ".ini", ".config" | ||
| ".ini", ".config", ".hash" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ignore .hash files - just to reduce the false alarm errors when parsing a "Library\com.unity.addressables" folder
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch.
| m_InsertCommand?.Dispose(); | ||
| m_InsertDepCommand?.Dispose(); | ||
| } | ||
| } No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Restored file, not new code
Documentation/analyze-examples.md
Outdated
| * Regular AssetBundle builds create [.manifest files](https://docs.unity3d.com/Manual/assetbundles-file-format.html), which contain information about the source assets and types. | ||
| * Addressable builds do not produce BuildReport files, nor .manifest files. But there is similar reporting, for example the [Build Layout Report](https://docs.unity3d.com/Packages/com.unity.addressables@2.4/manual/BuildLayoutReport.html). | ||
|
|
||
| * Addressable builds do not produce BuildReport files, nor .manifest files. But UnityDataTools supports analyzing the [Addressables Build Reports](addressables-build-reports.md) and will populate the `addressables_build_explicit_assets` and `addressables_build_implicit_assets` tables. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tim - in the test project i was looking at there weren't any implicit assets, so i wasn't able to confirm that that addressables_build_implicit_assets table gets populated. Hopefully my guess based on the name is correct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's actually addressables_build_data_from_other_assets. Not my favorite name, but that's coming from the name of the object so keeping it consistent with the data.
Given an explicit asset id and build number this will get you a list of implicit dependencies:
SELECT a.explicit_asset_id, b.id, b.asset_path, b.asset_path
FROM addressables_build_explicit_asset_internal_referenced_other_assets a,
addressables_build_data_from_other_assets b
WHERE a.internal_referenced_other_asset_rid = b.id
AND a.build_id = b.build_id;
AND a.explicit_asset_id = 5092
AND a.build_id = 3
In my case my Pillar_Stone_Corner.prefab has an fbc, a material, and a texture in the other assets table.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pushed up this SQL in the Addressables documentation since it seemed useful.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
e287244 to
3810f3d
Compare
The AssetBundleHandler got lost in recent code change, so restore it.
Add a few cross links to the new Addressables Build Layout parsing.
Fix the section "Matching content back to the source asset" because it wasn't explaining that some source asset paths actually are available in the build output (for AssetBundle explicit assets, and the scenes in a Player Build)