Skip to content

Latest commit

 

History

History
134 lines (102 loc) · 4.36 KB

File metadata and controls

134 lines (102 loc) · 4.36 KB

Export

← Home


Overview

BuildLens exports the active snapshot to JSON (schema v1.1) or CSV from the toolbar. Both formats are self-contained — no external dependencies are required to read them. Exports are produced by ExportPipeline.cs in the Infrastructure layer.


Triggering an Export

When a snapshot is loaded and no analysis is running, the toolbar shows ↓ JSON and ↓ CSV. Clicking either opens a Save File dialog.

Default filename pattern:

BuildLens_{Platform}_{yyyyMMddHHmmss}.{ext}

Examples:

  • BuildLens_StandaloneWindows64_20250401163000.json
  • BuildLens_Android_20250215091500.csv

JSON Export — Schema v1.1

Top-Level Fields

{
  "schema_version": "1.1",
  "snapshot_id": "c3c3c3c3-0000-0000-0000-000000000003",
  "captured_at": "2025-04-01T09:00:00.0000000Z",
  "build_guid": "DemoProject_Release_20250401",
  "platform": "StandaloneWindows64",
  "unity_version": "6000.0.40f1",
  "buildlens_version": "1.0.0",
  "total_size_bytes": 156237824,
  "total_compressed": 70436400,
  "asset_node_count": 53,
  "dependency_edge_count": 47,
  "asset_nodes": [ ... ]
}
Field Type Description
schema_version string Export schema version. Current: "1.1"
snapshot_id string UUID assigned at analysis time
captured_at string ISO 8601 UTC
build_guid string ProductName + timestamp ticks
platform string Unity BuildTarget enum name
unity_version string Unity Editor version string
buildlens_version string BuildLens version that produced the snapshot
total_size_bytes integer Sum of all uncompressed_bytes
total_compressed integer Sum of all compressed_bytes
asset_node_count integer Node count
dependency_edge_count integer Total forward edge count across the graph
asset_nodes array Per-asset records

Asset Node Fields

{
  "guid": "ccc00001",
  "asset_path": "Assets/Art/Characters/Hero/hero_albedo.png",
  "type": "Texture",
  "uncompressed_bytes": 4194304,
  "compressed_bytes": 3200000,
  "compression_method": "BC7",
  "dependency_status": "Complete",
  "dependencies": ["ccc00016", "ccc00038"],
  "dependents": [],
  "dependency_count": 2,
  "dependent_count": 0
}
Field Type Description
guid string Unity GUID (real builds) or deterministic fake GUID (demo)
asset_path string Project-relative path, always beginning with Assets/
type string Asset category
uncompressed_bytes integer In-memory size after decompression. May be estimated for non-texture/audio types.
compressed_bytes integer On-disk packed size from BuildReport
compression_method string Format string. Always "None" when no compression applies — never an empty string.
dependency_status string "Complete" when edges are present; "Unavailable" for legacy snapshots
dependencies string[] Direct forward GUIDs — assets this node needs
dependents string[] Direct reverse GUIDs — assets that need this node
dependency_count integer dependencies.length
dependent_count integer dependents.length

Schema v1.0 vs v1.1

Field v1.0 v1.1
dependencies per node Absent Present
dependents per node Absent Present
dependency_count / dependent_count Absent Present
dependency_edge_count (top-level) Absent Present
compression_method May be "" Always "None" or a real format string

CSV Export

The CSV export is a flat table, one row per asset node. Dependency GUID lists are not included (not representable in CSV without multi-value encoding). Counts are included.

Columns

guid, asset_path, type, uncompressed_bytes, compressed_bytes,
compression_method, dependency_status, dependency_count, dependent_count

All string fields are quoted. Integer fields are unquoted. Row 1 is the header.


Encoding

Both formats are written in UTF-8 without BOM. JSON strings are escaped per RFC 8259. Line endings are platform-native.


Related