Vixen
02b45cc4
csharp
public sealed class ContentBuilder

Packs imported chunks into bundles and writes the catalog that indexes them.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The last step of a content build and the one that decides what shipping costs. Everything before it produced chunks that exist; this decides which file each of them lives in, what that file is called, and what a runtime has to be told to find it again.

Deterministic, because doc 12 gates the build on it. Two builds of the same content on two operating systems produce the same bytes, which is what makes a content update able to ship a diff and what stops CI failing on a difference nobody can reproduce. Most of that comes from further down — BundleWriter writes chunks in id order and CatalogFormat writes entries in address order — so sorting the assets here has exactly one observable effect: the order the build reports things in. That is worth having on its own, because a build log that reorders between runs is noise in every diff of it.

An asset in more than one label goes in the first of them, alphabetically. PackTogetherByLabel has to pick one bundle and no rule is obviously right; picking the alphabetically first is at least a rule, and it is stated here and reported by the build so nobody has to work it out from the output.

Fields and properties (2)

  • public static int CatalogVersion

    The catalog format this writes.

  • public string Target

    Which target the build is for.

Methods (2)

Used by (4)

  • ContentAddressablesRemote
  • BuildPlannerTestsVixen.Editor.Assets.Tests
  • ContentBuilderTestsVixen.Editor.Assets.Tests
  • ContentPipelineVixen.Editor.Assets