FIX: warnings / failures with CI#2425
Merged
Darren-Kelly-Unity merged 12 commits intoJun 3, 2026
Merged
Conversation
Codecov ReportAttention: Patch coverage is
@@ Coverage Diff @@
## develop #2425 +/- ##
===========================================
+ Coverage 78.13% 78.91% +0.78%
===========================================
Files 483 762 +279
Lines 98770 139248 +40478
===========================================
+ Hits 77169 109883 +32714
- Misses 21601 29365 +7764 Flags with carried forward coverage won't be shown. Click here to find out more.
|
Collaborator
Author
|
/review |
This reverts commit 7d1c21c.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Closed
3 tasks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
LeoUnity
approved these changes
Jun 3, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
EditorPlatformType is more granular than SystemType — both MacOs13 and MacOs13Arm resolve to SystemType.MacOS, which caused duplicate job key errors after the Wrench 2.12.0 bump added MacOs13Arm to the default platform set. Switching to EditorPlatformType makes each job name unique. Also removes the temporary ExcludeUnsupportedPlatforms workaround for Unity 6.6 Mac jobs, which should no longer be needed with Wrench 2.12.0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wrench 2.12.0 defaults Unity 6.6 to MacOs13Arm. Forcing MacOs13 (Intel) onto it was causing "Bad CPU type in executable" failures on standalone tests. Other editor versions keep the explicit Intel agent override. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Collaborator
Author
|
/review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
Fixes CI build warnings by replacing
#if UNITY_EDITOR || DEVELOPMENT_BUILD/#if DEVELOPMENT_BUILDpreprocessor guards with#if DEBUGacross multiple runtime files. Also adds[NonSerialized]to fields inHID.HIDDeviceDescriptorDeviceEntryandHID.HIDElementDescriptorthat were triggering serialization warnings. One case inInputSystem.csuses a more precise fix: replaces#if DEVELOPMENT_BUILDwith a#if !UNITY_EDITORblock and a runtimeDebug.isDebugBuildcheck to preserve the original development-build-only remoting behaviour.Summary of issue's faced and actions taken:
Here's a Slack-ready summary:
Input System CI – Wrench Migration & Fix Summary 🛠️
Wrench Migration (1.x → 2.x)
RecipeEngine.Modules.Wrenchfrom2.2.1→2.12.0BaseRecipe.GetJobs()to the Wrench 2.x pattern — now iteratesUnityEditorsso each editor version respects its own platform setSystemTypetoEditorPlatformTypeto avoid duplicate key errors caused byMacOs13andMacOs13Armboth resolving toSystemType.MacOSMac ARM64 Fix
MacOs13Arm(Apple Silicon), but our pre-existingOverridePackagePlatformwas forcingMacOs13(Intel) onto all editors including 6.6MacOs13Armas intendedStandaloneFunctionalTests - 6000.6 - MacOs13,StandaloneIl2CppFunctionalTests - 6000.6 - MacOs13and all other 6.6 Mac jobsUbuntu Standalone Test Performance Fix
ResourceType.VmGpu(Unity::VM::GPU) — consistent with how Burst, HDRP, and UX Engineering run Linux standalone tests at UnityStandaloneFunctionalTests - 6000.0 - Ubuntu2204,StandaloneFunctionalTests - 6000.3 - Ubuntu2204and all other Ubuntu standalone jobsRelease Notes
None (internal CI / build-warning fixes only — no user-facing behaviour change).
Functional Testing status
No new tests added. Changes are limited to conditional-compilation guards and serialization attributes; existing automated test suite and CI pipeline cover the affected paths. Manual verification that remoting still activates correctly in development player builds is recommended.
Performance Testing Status
No performance impact. All changes are compile-time guards or serialization metadata attributes.
Overall Product Risks
Technical Risk: 1
Replacing
UNITY_EDITOR || DEVELOPMENT_BUILDwithDEBUGis semantically equivalent in the Unity editor and standard debug builds, but could differ in edge-case build configurations. TheInputSystem.csremoting path uses a runtimeDebug.isDebugBuildguard to avoid any behavioural regression.Halo Effect: 1
Changes are spread across 11 files in the runtime layer but are confined to debug/development-only code paths — no release-build behaviour is altered.
Class diagram
Types touched by
origin/develop...HEAD— no structural changes, all modifications are preprocessor guards or serialization attributes.classDiagram direction TB class InputControlExtensions { <<static>> } class ControlBuilder { <<struct>> +At() ControlBuilder +WithParent() ControlBuilder +WithName() ControlBuilder +WithLayout() ControlBuilder +WithUsages() ControlBuilder +WithChildren() ControlBuilder } class DeviceBuilder { <<struct>> +WithName() DeviceBuilder +WithLayout() DeviceBuilder +WithChildren() DeviceBuilder +WithControlUsage() DeviceBuilder +WithControlAlias() DeviceBuilder } class InputControlList { <<struct>> +Count int } class InputControlListDebugView { <<struct>> } class InputEventBuffer { <<struct>> } class InputManager { } class DeviceState { <<struct>> } class InputSystem { <<static>> } class RemoteInputPlayerConnection { } class InputRemoting { } class InputSystemState { } class EnhancedTouchSupport { <<static>> +CheckEnabled() } class HID { } class HIDDeviceDescriptorDeviceEntry { <<struct>> +deviceType Type +displayName string } class HIDElementDescriptor { <<struct>> +usageMin int +usageMax int +flags HIDElementFlags } class PlayerInputManager { } class InputStateBuffers { } InputControlExtensions --> ControlBuilder : creates InputControlExtensions --> DeviceBuilder : creates InputControlList --> InputControlListDebugView : debug view InputManager --> DeviceState : contains InputSystem --> RemoteInputPlayerConnection : owns InputSystem --> InputRemoting : uses HID --> HIDDeviceDescriptorDeviceEntry : contains HID --> HIDElementDescriptor : contains