Skip to content

Bring in trunk's CoreCLR compatibility changes (shadow-package sync) - #698

Open
lopezt-unity wants to merge 2 commits into
masterfrom
chore/integrate-coreclr-shadow-sync
Open

Bring in trunk's CoreCLR compatibility changes (shadow-package sync)#698
lopezt-unity wants to merge 2 commits into
masterfrom
chore/integrate-coreclr-shadow-sync

Conversation

@lopezt-unity

Copy link
Copy Markdown
Collaborator

What this does

Trunk made some changes to keep ProBuilder working with Unity's new CoreCLR editor, and those changes got mirrored into this repo automatically by the shadow-package bot (see PR #695). This PR brings those changes into master, since that bot PR landed on release/6.1 instead, which isn't where we actually do ongoing development anymore.

Two kinds of changes came from trunk:

  1. Shader fix: 16 shader files had their fragment output changed from the old COLOR semantic to the modern SV_Target semantic. Purely a naming/compatibility fix, no visual or behavioral change.
  2. Disabling some tests under CoreCLR: 8 test files got a new attribute (UnityCoreClrExplicitDisabled) added to tests that currently fail when Unity runs on CoreCLR instead of Mono. This doesn't fix the underlying issues, it just stops those specific tests from running in CoreCLR test passes until someone fixes the real problem (tracked in UUM-148933 and UUM-148935).

What I changed on top of the raw trunk changes

The attribute used to disable those tests (UnityCoreClrExplicitDisabled) is brand new and only exists starting in Unity 6000.7. This package still supports Unity all the way back to 6000.0, so using that attribute unconditionally would have broken compilation of our whole test suite on any older, currently-supported Unity version.

I wrapped every use of that attribute in a #if UNITY_6000_7_OR_NEWER check, so:

  • On Unity 6000.7 and newer, it behaves exactly as trunk intended (skips those tests under CoreCLR).
  • On older Unity versions, the attribute is simply left out. That's fine, since CoreCLR isn't even an option on those older versions, so there's nothing to disable there.

Why master and not release/6.1

The shadow-package bot's PR (#695) targets release/6.1, but that branch diverged from master a while back and isn't where new package work lands. Posted a question in #devs-pets about whether the bot's sync target should change, or if this manual "catch it and move it to master" step is expected going forward.

Testing

No functional behavior changes for supported use cases — this only affects shader semantics (cosmetic naming fix) and test execution under CoreCLR specifically. Recommend a normal CI run to confirm the test assembly still compiles cleanly on the oldest supported Editor version as well as on 6000.7+.

pets-svc Bot and others added 2 commits August 26, 2026 17:16
UnityCoreClrExplicitDisabledAttribute (UnityEngine.TestTools) shipped in
Test Framework 1.7.0 / Unity 6000.7 and does not exist on 6000.0-6000.6,
which this package still supports (package.json "unity": "6000.0"). The
raw trunk shadow-sync commit applied it unconditionally, which would fail
to compile the Unity.ProBuilder.Tests assembly on any older supported
Editor. CoreCLR isn't an option on those older Editors either, so the
tests can just run normally there - no fallback attribute needed.

Left ExtrudeTests.cs's using UnityEngine.TestTools unguarded since it
already used LogAssert unconditionally before this change.
@cla-assistant-unity

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ lopezt-unity
❌ pets-svc[bot]
You have signed the CLA already but the status is still pending? Let us recheck it.

@u-pr u-pr Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

💡 Harness Review

Ship it

The change consistently gates the new CoreCLR-only test attribute at the supported editor version, preserves the existing test-framework imports where needed, and updates each changed legacy shader fragment output to the established SV_Target semantic. I found no actionable defects in the reviewed changes.

Reviewed commit a2c1b73

🤖 Helpful? 👍/👎

@codecov-github-com

codecov-github-com Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

@@            Coverage Diff             @@
##           master     #698      +/-   ##
==========================================
+ Coverage   38.43%   38.55%   +0.12%     
==========================================
  Files         279      279              
  Lines       39164    39195      +31     
==========================================
+ Hits        15052    15112      +60     
+ Misses      24112    24083      -29     
Flag Coverage Δ
probuilder_MacOS_6000.0 36.28% <ø> (+0.14%) ⬆️
probuilder_MacOS_6000.3 36.28% <ø> (+0.14%) ⬆️
probuilder_MacOS_6000.4 36.28% <ø> (+0.15%) ⬆️
probuilder_MacOS_6000.5 36.28% <ø> (+0.14%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 7 files with indirect coverage changes

ℹ️ Need help interpreting these results?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant