← FIELD GUIDES / FD-05EVIDENCE-LED WORKFLOW

Reviewing Unity editor iteration regressions across revisions

A controlled checklist for comparing compile, assembly-reload, asset-import, and enter-play timings without turning environment noise into a regression verdict.

WHAT THIS CANNOT PROVE

Editor-loop timing is specific to the declared fixture, runner, Unity configuration, and cache state. It cannot establish machine-independent developer productivity, certain root cause, individual responsibility, or runtime player performance.

01 / FIXTURE CONTRACT

Define one interaction before measuring any revision.

A benchmark is useful only when the base and candidate perform the same work under a recorded editor contract.

01

Script the interaction

Name the exact script edit, asset touch or import, project-open state, and enter-play transition. Give the fixture a version so a changed sequence cannot masquerade as a code regression.

02

Pin the environment

Record Unity version, operating system and runner class, target platform, package lock, Enter Play Mode settings, cache policy, process-start policy, and relevant project settings.

03

Declare the comparison

Use an accepted base revision and one candidate revision. Preserve run ordering and intentional package, importer, assembly, or project-setting changes as revision input rather than normalizing them away.

02 / PHASE EVIDENCE

Measure phases separately with documented signals.

Compilation, assembly reload, import, and enter-play time have different evidence and failure modes. A total alone hides where the loop moved.

01

Bracket compilation

Use Unity's compilation pipeline events to record assembly start and finish evidence, compiler messages, and terminal status. Do not include a failed compilation in a successful timing sample.

02

Treat reload as a lifecycle

Record the before/after assembly-reload boundary and any supported Editor-log timing. Persist evidence in a form that does not assume in-memory state survives the reload.

03

Trace imports and play transitions

Use Import Activity or documented Editor-log import records for asset path, duration, and reason; use play-mode state changes to bracket the declared enter-play transition.

03 / REPEATABILITY

Keep every sample and let noise stop the verdict.

One fast or slow editor session is an observation, not a regression policy.

01

Separate warm-up from measurement

Declare warm-up runs, discard them consistently, then run the same measured repetition count for base and candidate on the same runner and cache contract.

02

Report median and spread

Preserve individual samples, median, absolute and relative delta, and the agreed spread measure. Never hide a noisy distribution behind one rounded number.

03

Fail closed on divergence

Return unknown when metadata differs, a phase is missing or failed, the fixture changes, a log is incomplete, or variance exceeds the predeclared ceiling.

04 / REVIEW POLICY

Make the budget explainable and reversible.

Iteration budgets should begin as review evidence and earn blocking authority only after the fixture proves stable and useful.

01

Budget each phase

Use phase-specific absolute and relative thresholds. A compile regression and an import regression have different owners, mitigations, and acceptable noise.

02

Separate observation from attribution

Report the measured phase first. Changed packages, assemblies, importers, or paths are supporting hypotheses only when an explicit rule connects them to the timing evidence.

03

Promote gates from history

Start in observe or review mode, replay representative historical changes, record false alarms and unknowns, and block only when the evaluator accepts the fixture and policy.

PRIMARY SOURCES

Inspect the underlying documentation.

This guide is XeSoft's evaluation framework, not a substitute for the source documentation. Links below go to the primary publisher.

UnityImport Activity window

Recent asset import duration, reason, dependencies, editor revision, and produced-artifact evidence.

UnityAsset Database import-time analysis

Unity documents extracting asset path, import duration, and extension from Editor.log import records.

UnityAssembly compilation started

Main-thread event raised when an assembly build starts.

UnityAssembly compilation finished

Assembly completion event with compiler-message evidence.

UnityAssembly reload events

Documented before- and after-assembly-reload lifecycle events.

UnityPlay-mode state changed

Editor event carrying transitions into and out of Play Mode.

UnityConfigurable Enter Play Mode

Domain- and scene-reload settings materially change the work performed when entering Play Mode.

Unity TechnologiesEditor Iteration Profiler

Unity's existing domain-reload profiling surface; the comparison contract should complement rather than imitate it.

MATCHING PRIVATE PILOT

Apply the checklist to one real workflow.

Editor Iteration Guard is a narrowly scoped private-pilot proposal for turning this review contract into a repeatable report. The first step is fit and evidence, not a platform migration.

Read the Editor Iteration Guard brief