Skip to content

[#92] Add Player build and content directory format documentation#95

Merged
SkowronskiAndrew merged 8 commits into
mainfrom
update-contentlayout-json
Jul 13, 2026
Merged

[#92] Add Player build and content directory format documentation#95
SkowronskiAndrew merged 8 commits into
mainfrom
update-contentlayout-json

Conversation

@SkowronskiAndrew

Copy link
Copy Markdown
Collaborator

Summary

Fixes #92.

This PR extends the "Understanding Unity content" documentation set with dedicated topics for the two build types that previously only had brief coverage, and folds in a small ContentLayout.cs schema bump.

Until now the overview page (unity-content-format.md) carried all of the Player-build detail inline and content directory builds had no dedicated topic at all. This mirrors the existing assetbundle-format.md pattern: a hands-on, UnityDataTool-focused page per build type, with the overview reduced to a short summary that links out. The content directory topic in particular documents format details (content-hash filenames, the cah:/ scheme, the .cfid indirection, and how references between Content Files are resolved through the manifest / ContentLayout.json) that are not covered by the Unity Manual.

Changes

New documentation

  • playerbuild-format.md — Player build layout, file naming, shared-asset grouping (incl. first-scene priority), PreloadData, data.unity3d compression, built-in resource files, enabling TypeTrees, platform containers (Android/Web), and a note on inspecting nested content-only builds under StreamingAssets (and analyze --no-recurse).
  • contentdirectory-format.md — content directory builds (Unity 6.6+): Content Files, content-hash file naming, the build manifest and BuildManifestHash.txt, archives (content0.archive), build-layout granularity, the build history, and a worked example of how references between Content Files resolve via the manifest.

Reworked / cross-links

  • unity-content-format.md — Player Builds section reduced to a summary that links to the new page; new brief Content Directories section.
  • README.md — added the two new topics to the doc table.
  • Cross-links added/updated in command-archive.md, comparing-builds.md, and contentlayout.md.

Schema

  • ContentLayout.cs — bump the model to schema v2, adding OutputLFID to LoadableObjectIds entries. This field was introduced during the 6.6 beta; v2 only adds a field, so no snapshot of the v1 schema is kept.

Testing

  • dotnet build UnityDataTools.sln -c Release — succeeds, 0 warnings.
  • dotnet test UnityDataTools.sln -c Release — full suite green (238 passed).
  • Documentation examples (dumps, ContentLayout.json walkthrough, archive list output) were generated from the checked-in reference builds under TestCommon/Data/LeadingEdgeBuilds and verified against the running tool.

v1 to v2 simply adds a field so we aren't keeping a snapshot of the old
schema.  This change was introduced during 6.6 beta.
Add a dedicated Player Build Format topic covering the build layout, file
naming, Global Game Managers, PreloadData, compression, built-in resource
files, TypeTrees in the Player, and how to inspect Player content (including
Android and Web containers).

Extract the Player-specific details out of unity-content-format.md, leaving a
brief summary there that links to the new page, and cross-link it from
README.md, command-archive.md, and comparing-builds.md.
Document key information about the structuring of content directories.
@SkowronskiAndrew SkowronskiAndrew requested a review from Copilot July 13, 2026 23:36
@SkowronskiAndrew SkowronskiAndrew marked this pull request as ready for review July 13, 2026 23:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 expands UnityDataTools’ documentation set with dedicated, UnityDataTool-focused pages for Player builds and the new Unity 6.6+ content directory build pipeline, and updates cross-links so the existing “overview” docs stay concise. It also updates the published ContentLayout.json C# schema model with a new field.

Changes:

  • Added new documentation topics: Player build format and content directory format (including practical inspection workflows).
  • Reworked existing docs/README to link to the new topics and reduce duplicated detail in the overview.
  • Updated UnityDataModels/ContentLayout.cs to add OutputLFID and reflect a schema version bump.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
UnityDataModels/ContentLayout.cs Adds OutputLFID to the ContentLayout.json model and adjusts schema-version commentary/constants.
README.md Updates the documentation index/table to include the new format topics.
Documentation/unity-content-format.md Refactors the overview to summarize Player builds/content directories and link to the dedicated pages.
Documentation/playerbuild-format.md New: detailed Player build content layout, compression, TypeTrees, and platform container notes.
Documentation/contentlayout.md Adds cross-link to the new content directory format documentation.
Documentation/contentdirectory-format.md New: detailed content directory build layout, naming, manifest/dependency resolution, and inspection guidance.
Documentation/comparing-builds.md Updates TypeTrees link target to the new Player build doc section.
Documentation/command-archive.md Expands archive command intro to explicitly include compressed Player builds (data.unity3d) and links to the new doc.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread UnityDataModels/ContentLayout.cs
Comment thread UnityDataModels/ContentLayout.cs Outdated
Comment thread Documentation/contentlayout.md
Comment thread Documentation/unity-content-format.md
@SkowronskiAndrew SkowronskiAndrew merged commit 3f1fb58 into main Jul 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document player and content directory build details

2 participants