Package Preflight
Released2026

Package Preflight

A Unity Editor companion for finding package release-readiness issues before submission

Platform
Unity Editor · UPM
Team
Personal Unity tooling project
Time
Independent tool · 2026
Role
Unity Editor tooling & validation
About the project

What it is

Package Preflight is a Unity Editor tool for developers preparing UPM and Asset Store packages. It checks locally maintained packages for structural, compatibility and release-readiness issues, then turns each finding into an actionable correction instead of a vague quality score.

What I worked on

My contribution

I designed the audit workflow around the decisions a package author needs to make before submission. The tool indexes a package once, evaluates only the rules that apply, and surfaces the result in a focused Quick Scan as well as inside Unity's native Project Auditor window.

Key features

Main systems

  • A Quick Scan that checks embedded and local packages with progress, cancellation, filters and decision-first results.
  • 35 deterministic rules for manifests, documentation, distribution safety, tests, samples, dependencies and assembly integrity.
  • Scoped, time-limited exceptions and regression baselines that distinguish new findings from known technical debt.
  • Synchronized JSON, Markdown, JUnit and SARIF exports for review and CI workflows.
Technical deep dive

How it works

Audit engine

One package context, applicable rules only

The tool first builds a shared view of each package's manifest, files and folders. Independent rule classes then evaluate only applicable checks, avoiding misleading warnings such as requiring tests from a content-only package.

  • The registry keeps every rule isolated and easier to extend or test.
  • The same UI-neutral findings feed Quick Scan, Project Auditor integration and batchmode CI.
Publisher workflow

Evidence instead of a fake score

Package Preflight reports blockers, warnings, suggestions and non-applicable checks rather than claiming that a numeric score guarantees approval. A Release Dashboard adds the human checks source analysis cannot prove, such as licensing, support contacts and tested compatibility.

  • Exceptions require a reason, an expiry date and a narrow default scope.
  • Baselines use stable rule, package and path fingerprints so copy changes do not create false regressions.
Safe remediation

Preview before changing a package

Supported fixes are shown as a complete before-and-after preview and require a second confirmation. The tool verifies the original contents again before writing, so it refuses stale or unexpected edits.

  • It can scaffold missing documentation, set an exact Unity release and restrict Editor assemblies safely.
  • It deliberately does not invent licenses, manifests or legal metadata.
CI reporting

Make regressions visible outside Unity

A batchmode entry point produces a baseline report and consistent JSON, Markdown, JUnit and SARIF exports. CI can fail only on new blockers or on any new finding, depending on the team's chosen guardrail.

Challenges

What was difficult

The challenge was keeping the tool strict enough to catch real submission risks without overwhelming developers with irrelevant checks. Profiles, applicable-rule filtering, scoped exceptions and clear severity boundaries keep the audit useful without pretending to replace Unity's official submission process.

Screenshots

Gallery

Quick Scan readiness overview
A local package audit groups passed checks, warnings and blockers before release.
Actionable findings by category
Each issue is grouped by package area so authors can review the relevant release work.
Release Dashboard
Automated evidence is combined with publisher confirmations that source analysis cannot prove.
Conclusion

What I learned

Package Preflight taught me how to build a developer-facing Unity tool around trust: deterministic analysis, clear limits, reviewable changes and outputs that work both in the Editor and in CI. It also strengthened my understanding of UPM package structure, assembly boundaries and release workflows.

Stack
Unity 6C#UI ToolkitUPMProject AuditorCI
Shader Flight Recorder
Next project
Shader Flight Recorder
A Unity profiling tool that turns real player shader uploads into warmup evidence