Build-owned evidence
- Unity version and Player build target
BuildSummary.totalSizeBuildSummary.totalTime- Eight explicit non-sensitive contract labels
- Registered package name/version pairs
Install one small Editor-only package, declare the comparison contract in the build job, and receive a local `bdg-summary-v0.1` file after a successful Player build. Inspect the source and JSON, then compare accepted and candidate summaries in the existing browser-local evaluator.
The kit is intentionally narrower than the private-pilot exporter. It exists to make the first real comparison possible without collecting project content.
BuildSummary.totalSizeBuildSummary.totalTimeThe package adds no window or background process. Unity invokes it after a successful Player build; AssetBundle-only builds are outside this callback.
Download the `.tgz`, inspect its eight files, then use Unity Package Manager’s “Install package from tarball” action.
Set the nine environment labels below in the accepted and candidate jobs. Use short, non-sensitive values.
The package writes one local JSON file under `Library/XeSoft/BuildDelta`, or the explicit output directory.
Review both files, paste them into the browser evaluator, and keep any incomplete or mismatched result unknown.
Only the revision changes. Every other value must describe the same build setup in both jobs.
XESOFT_BDG_REVISIONChanges per buildA short baseline or candidate revision labelXESOFT_BDG_ARTIFACT_FORMATMust matchAAB, APK, IPA, player directory, or the studio's stable labelXESOFT_BDG_SCRIPTING_BACKENDMust matchFor example IL2CPP or MonoXESOFT_BDG_CONFIGURATIONMust matchFor example release or developmentXESOFT_BDG_ARCHITECTUREMust matchFor example ARM64 or x86_64XESOFT_BDG_STRIPPING_LEVELMust matchThe studio's stable stripping labelXESOFT_BDG_COMPRESSIONMust matchFor example LZ4HC or the studio's stable labelXESOFT_BDG_BUILD_ENTRYMust matchThe non-sensitive build-method labelXESOFT_BDG_RUNNER_PROFILEMust matchThe non-sensitive CI runner classexport XESOFT_BDG_REVISION="main@8f32c1" export XESOFT_BDG_ARTIFACT_FORMAT="AAB" export XESOFT_BDG_SCRIPTING_BACKEND="IL2CPP" export XESOFT_BDG_CONFIGURATION="release" export XESOFT_BDG_ARCHITECTURE="ARM64" export XESOFT_BDG_STRIPPING_LEVEL="medium" export XESOFT_BDG_COMPRESSION="LZ4HC" export XESOFT_BDG_BUILD_ENTRY="Build.ReleaseAndroid" export XESOFT_BDG_RUNNER_PROFILE="windows-build-a"
{
"schemaVersion": "bdg-summary-v0.1",
"revision": "main@8f32c1",
"metadata": { "…": "exact contract labels" },
"metrics": {
"totalBuildBytes": 1120000000,
"buildDurationSeconds": 770
},
"dependencies": { "package.name": "version" }
}The exporter skips the file and logs one bounded warning when a required label is missing, a package has no usable name/version, the package ceiling is exceeded, a duplicate name appears, or the local write fails. It never converts missing evidence to zero and does not throw out of the callback.
The output filename is derived from a filesystem-safe revision label. The exporter does not read or serialize `BuildSummary.outputPath`.
Compare two reviewed summaries →