Skip to content

Fix Unity 6000.6 progress controls and issue debt - #765

Merged
Eli Pinkerton (wallstop) merged 15 commits into
mainfrom
fix/unity-6000-6-and-issue-debt
Sep 12, 2026
Merged

Fix Unity 6000.6 progress controls and issue debt#765
Eli Pinkerton (wallstop) merged 15 commits into
mainfrom
fix/unity-6000-6-and-issue-debt

Conversation

@wallstop

@wallstop Eli Pinkerton (wallstop) commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

DISCLOSURE: LLM-GENERATED TEXT

Why:

Unity 6000.6 no longer compiles the legacy UI Toolkit progress-control factories, two audited reliability issues could corrupt pooled writer state or discard exception diagnostics, and the Unity CI/reviewer automation needed current repository policy.

What:

  • Use generated UXML elements and attributes for all seven progress controls on Unity 6 while retaining the legacy factory path on Unity 2021.3 and 2022.3.
  • Preserve Unity 6000.5 coverage, add released 6000.6.0f1, remove obsolete 6000.3, and run edit/play/standalone sequentially inside one job per supported version.
  • Run benchmarks once on the latest editor instead of a four-cell matrix, preserving benchmark selection and samples.
  • Cancel superseded Unity test and benchmark runs so stale work cannot starve the self-hosted runner fleet.
  • Target release export and unitypackage smoke with the latest supported editor, 6000.6.0f1.
  • Add checksum-verified Windows runner installation with an AdminPrepare → UserInstall → AdminConfigure handoff, and provision every requested Unity build target through the Full profile.
  • Reject invalid pooled writer advances, negative hints, and capacity overflow without mutating writer state.
  • Preserve exception types, inner exceptions, and stack traces throughout runtime and editor diagnostic logs.
  • Always act on review input from wallstop, Cursor Bugbot, and GitHub Copilot's review/coding agents, with durable linter and self-test coverage.
  • Add UXML import/default-size coverage, writer boundary tests, documentation, changelog entries, and CI contract tests.

Fixes #759
Fixes #760
Fixes #762
Fixes #767

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactor (code change that neither fixes a bug nor adds a feature)

Checklist

  • I have added tests that prove my fix is effective or my feature works
  • I have updated the documentation accordingly
  • I have updated the CHANGELOG
  • My changes do not introduce breaking changes, or breaking changes are documented

Validation

  • npm run validate:tests:fast — 87/87 contract groups passed
  • npm run validate:content — passed
  • npm run lint:spelling — passed
  • Editor test typecheck — zero warnings and errors
  • CSharpier, actionlint, YAML, line-ending, and staged-file preflight checks — passed
  • Unity 6000.4.6f1 generated-UXML compilation — zero warnings and errors
  • GitHub Actions checks for the current head are in progress

> [!NOTE]
> High Risk
> Changes licensed Unity CI topology (cancel-in-progress, per-version sequential modes, release editor pin) and release export version; incorrect cleanup or version drift could block releases or starve runners.
>
> Overview
> Unity 6000.6 becomes the release and benchmark editor: .github/unity-versions.json drops 6000.3.16f1, adds 6000.6.0f1, and release/smoke/export pins move from 2022.3.45f1 to 6000.6.0f1. Issue templates list Unity 6.6.
>
> Seven UI Toolkit progress controls gain Unity 6 [UxmlElement] / [UxmlAttribute] registration while keeping legacy UxmlTraits on 2021.3/2022.3, plus new editmode UXML import tests and Styles in the editor test typecheck project.
>
> Runtime fixes: PooledArrayBufferWriter rejects invalid Advance/EnsureCapacity without mutating state; widespread logging now prints full exceptions instead of .Message only.
>
> CI behavior: Unity Tests run one job per editor version that sequences editmode, playmode, and standalone (matrix axis removed); concurrency cancels superseded runs on the same PR/ref. Benchmarks collapse to a single 6000.6.0f1 playmode leg with a drift guard. Runner bootstrap splits host prerequisites from a serialized per-version Unity maintain matrix. verify-unity-results skips failed suites with @site='Child' when reporting suite-level failures.
>
> Policy/docs: LLM github-ops pause rules explicitly cover wallstop, Cursor Bugbot, and Copilot agents; CHANGELOG entries for #759, #760, #762.
>
> Reviewed by Cursor Bugbot for commit 3f34157. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread Styles/Elements/Progress/LiquidProgressBar.cs
Comment thread .github/ISSUE_TEMPLATE/bug_report.yml
Comment thread .github/workflows/unity-tests.yml
Comment thread .github/workflows/unity-benchmarks.yml
Restore Unity 6 progress bar default sizing reported by Cursor Bugbot and cover the trusted feedback identities in repository policy and audit tests.
Comment thread .github/ISSUE_TEMPLATE/bug_report.yml
Comment thread .github/unity-versions.json Outdated
Comment thread Styles/Elements/Progress/ArcedProgressBar.cs

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread Tests/Editor/Styles/ProgressBarUxmlTests.cs
Retain Unity 6000.5 coverage while adding 6000.6, move specialized coverage to the latest editor, run benchmarks only on latest Unity, and keep issue version choices newest-first.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread scripts/unity/ensure-editor.ps1

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread .github/workflows/unity-tests.yml
Correct stale exception assertions and stop NUnit child-suite rollups from inflating failure diagnostics. Require complete Android player payloads so maintenance cannot accept a partial installation.
Update Unity CLI before provisioning and force documented automation settings. Retry installer and updater failures through bounded process-tree watchdogs. Split host setup from serialized per-version maintenance so one slow editor cannot exhaust every editor's timeout.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread scripts/unity/ensure-editor.ps1

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread scripts/unity/ensure-editor.ps1

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit ebe9996. Configure here.

Comment thread scripts/unity/maintain-windows-runner.ps1 Outdated
Accept the Android sdktools payload installed by Unity CLI so maintenance does not replace healthy editors. Resolve interactive installs through the runner's configured tool cache and keep the official default as the fallback.
@wallstop
Eli Pinkerton (wallstop) merged commit b63df46 into main Sep 12, 2026
36 of 44 checks passed
@wallstop
Eli Pinkerton (wallstop) deleted the fix/unity-6000-6-and-issue-debt branch September 12, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant