Platforms and automation
External devices and portable bundles
Build one immutable Android, iOS, or WebGL capture kit, collect every expected portable bundle, and import the exact inventory.
External-device targets use a capture kit so the measured player is built once and the exact inventoried bytes are preserved across repetitions.
Capture kit contents
The kit records queue identity, target, scenario/run identity, repetition count, cooldown, player relative path, exact player inventory SHA-256, expected capture IDs, and BuildReport evidence. Deploy those exact player bytes. Rebuilding in Xcode, Gradle, another Unity checkout, or another CI job changes the candidate and requires new inventory/evidence.
Repetitions
The runtime queue advances only after the current repetition publishes its canonical portable bundle. An interrupted launch therefore repeats the same repetition instead of silently skipping it. Each bundle carries its own capture identity and checksum-bound raw evidence.
Android and iOS
Copy the generated .kplab bundles from the app's Performance Lab persistent-data bundle directory using normal platform development tooling. Preserve files byte-for-byte.
WebGL
Browser storage alone is not considered a customer retrieval workflow. The capture player presents a user-gesture download gate after each successful bundle publication. Save the exact .kplab file before continuing.
Import
Place only the expected .kplab files in one folder and import them with the kit manifest. The importer rejects missing, extra, duplicate, foreign, malformed, noncanonical, checksum-invalid, wrong-scenario, or environment-policy-failed evidence before statistical analysis.
Still stuck?
Bring the exact evidence with you.
Include Performance Lab and Unity versions, the scenario and Run Profile, target and build type, environment identity, focused logs, and only the smallest replayable evidence needed to reproduce the problem.