CHANGE: Update asset InputSystem.inputsettings to use UI Toolkit framework#2393
CHANGE: Update asset InputSystem.inputsettings to use UI Toolkit framework#2393josepmariapujol-unity wants to merge 15 commits intodevelopfrom
Conversation
Explicitly update the SerializedObject in InputActionImporterEditor.
Codecov ReportAttention: Patch coverage is
@@ Coverage Diff @@
## develop #2393 +/- ##
===========================================
- Coverage 78.13% 78.10% -0.03%
===========================================
Files 483 483
Lines 98770 98793 +23
===========================================
- Hits 77169 77165 -4
- Misses 21601 21628 +27 Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
/test_plan |
Test Plan
Summary of Changes & Risk AssessmentSummary of ChangesThis PR migrates the inspector UI for Risk Assessment
Test ScenariosFunctional Testing
Regression Testing
Edge Cases
💡 This test plan updates automatically when 🤖 Helpful? Please react with 👍/👎 | Questions❓Please reach out in Slack #ask-u-pr |
|
Text can go outside the button when scaled |
Pauliusd01
left a comment
There was a problem hiding this comment.
Text/button isn't updated correctly when multiple inspectors are used
https://github.com/user-attachments/assets/a9e54976-0525-4cd6-9094-c3b6c8fcc030
There was a problem hiding this comment.
This PR migrates the InputSettings inspector to UI Toolkit. While the refactoring is mostly solid, there are several important issues that should be addressed:
- Compatibility: The use of the
HelpBoxVisualElement may break compatibility with Unity versions older than 2021.1. - UI State/Sync: The new UI Toolkit implementation introduces a regression where the UI can become stale if settings are changed externally (e.g., via Project Settings or Undo), unlike the previous IMGUI implementation which polled every frame.
- Polishing: Several minor issues regarding string formatting (double spaces), unused parameters, and inconsistent spelling were identified.
Please see the inline comments for specific details and suggested improvements.
🤖 Helpful? 👍/👎
| return container; | ||
| } | ||
|
|
||
| private static void PopulateMakeActiveGui<T>(VisualElement container, T current, T target, string entity, Action<T> apply, bool allowAssignActive) |
There was a problem hiding this comment.
The transition from IMGUI to UI Toolkit introduces a behavior regression where the UI remains stale if the active asset (e.g., InputSystem.settings) is changed from another window (like Project Settings) or via an Undo operation.
The previous IMGUI implementation re-evaluated InputSystem.settings on every repaint, ensuring the UI always reflected the current state. In the new UI Toolkit version, CreateInspectorGUI is called once, and the state only updates locally when the "Assign" button is clicked. If the setting is changed elsewhere, this inspector will continue to show incorrect information until the selection is changed and returned to.
Consider implementing a simple poll using container.schedule.Execute(...) or subscribing to an event (if available) to ensure the UI stays in sync with the global state.
🤖 Helpful? 👍/👎
|
Will review review the PR again after the AI suggestions |
Description
This PR is updating the UI for asset
InputSystem.inputsettingsto use UI Toolkit framework.Before:

After:

Testing status & QA
Once you create an input settings check the asset and click the button, see video.
Screen.Recording.2026-03-23.at.12.58.07.mov
Page refresh test:
assigne.mov
Overall Product Risks
Please rate the potential complexity and halo effect from low to high for the reviewers. Note down potential risks to specific Editor branches if any.
Comments to reviewers
Please describe any additional information such as what to focus on, or historical info for the reviewers.
Checklist
Before review:
Changed,Fixed,Addedsections.Area_CanDoX,Area_CanDoX_EvenIfYIsTheCase,Area_WhenIDoX_AndYHappens_ThisIsTheResult.During merge:
NEW: ___.FIX: ___.DOCS: ___.CHANGE: ___.RELEASE: 1.1.0-preview.3.