Skip to content

Conversation

@josepmariapujol-unity
Copy link
Collaborator

@josepmariapujol-unity josepmariapujol-unity commented Jan 19, 2026

Description

As mentioned in the TODO. Adding keywords for InputSystem project settings window.

Screen.Recording.2026-01-19.at.15.38.28.mov

Testing status & QA

No need for testing, manually tested as video shows above.

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.

  • Complexity: 0
  • Halo Effect: 0

Comments to reviewers

Please describe any additional information such as what to focus on, or historical info for the reviewers.

Checklist

Before review:

  • Changelog entry added.
    • Explains the change in Changed, Fixed, Added sections.
    • For API change contains an example snippet and/or migration example.
    • JIRA ticket linked, example (case %%). If it is a private issue, just add the case ID without a link.
    • Jira port for the next release set as "Resolved".
  • Tests added/changed, if applicable.
    • Functional tests Area_CanDoX, Area_CanDoX_EvenIfYIsTheCase, Area_WhenIDoX_AndYHappens_ThisIsTheResult.
    • Performance tests.
    • Integration tests.
  • Docs for new/changed API's.
    • Xmldoc cross references are set correctly.
    • Added explanation how the API works.
    • Usage code examples added.
    • The manual is updated, if needed.

During merge:

  • Commit message for squash-merge is prefixed with one of the list:
    • NEW: ___.
    • FIX: ___.
    • DOCS: ___.
    • CHANGE: ___.
    • RELEASE: 1.1.0-preview.3.

@josepmariapujol-unity josepmariapujol-unity self-assigned this Jan 19, 2026
@u-pr-agent
Copy link
Contributor

u-pr-agent bot commented Jan 19, 2026

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪

Small editor-only change adding `SettingsProvider` metadata with minimal behavioral impact.
🏅 Score: 93

Straightforward improvement to Project Settings discoverability, with only minor maintainability/perf considerations around keyword allocation and version compatibility.
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Allocation

keywords = new[] { ... } allocates a new array each time the provider is created; consider using a static readonly string[] (or cached IEnumerable<string>) to avoid repeated allocations across domain reloads/opening settings.

    label = "Settings",
    keywords = new[]
    {
        "Input", "Action", "Controls", "Gamepad", "Keyboard", "Mouse", "Touch"
    }
};
Compatibility

Validate that SettingsProvider.keywords is available/behaves as expected across the Unity versions supported by this package; if older versions are supported, a compile-time guard may be needed.

    keywords = new[]
    {
        "Input", "Action", "Controls", "Gamepad", "Keyboard", "Mouse", "Touch"
    }
};
Discoverability

Confirm the chosen keywords match common search terms for this settings page (e.g., include Input System/InputSystem or other frequent terms) and avoid misleading terms not represented in the UI.

keywords = new[]
{
    "Input", "Action", "Controls", "Gamepad", "Keyboard", "Mouse", "Touch"
}
  • Update review

🤖 Helpful? Please react with 👍/👎 | Questions❓Please reach out in Slack #ask-u-pr-agent

@u-pr-agent
Copy link
Contributor

u-pr-agent bot commented Jan 19, 2026

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Guard editor-only keywords by version

Guard the keywords assignment behind a Unity version define to avoid compilation
errors on editor versions where SettingsProvider.keywords is unavailable. This keeps
the package compatible with older Unity editors.

Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs [33-42]

 return new InputSettingsProvider(kSettingsPath, SettingsScope.Project)
 {
     // We put this in a child node called "Settings" when Project-wide Actions is enabled.
     // When not enabled it sits on the main package Settings node.
     label = "Settings",
+#if UNITY_2019_1_OR_NEWER
     keywords = new[]
     {
         "Input", "Action", "Controls", "Gamepad", "Keyboard", "Mouse", "Touch"
     }
+#endif
 };
Suggestion importance[1-10]: 6

__

Why: If this package is meant to compile on Unity versions where SettingsProvider.keywords doesn’t exist, a #if UNITY_2019_1_OR_NEWER guard prevents editor compilation failures. The proposed change is reasonable and aligned with the removed “(2019.1+)” hint, though it only matters if older editor versions are in scope.

Low
  • More suggestions

🤖 Helpful? Please react with 👍/👎 | Questions❓Please reach out in Slack #ask-u-pr-agent

@josepmariapujol-unity josepmariapujol-unity changed the title Update InputSettingsProvider.cs ADDED: keywords for InputSystem project settings window Jan 19, 2026
@josepmariapujol-unity josepmariapujol-unity changed the title ADDED: keywords for InputSystem project settings window NEW: keywords for InputSystem project settings window Jan 19, 2026
@codecov-github-com
Copy link

codecov-github-com bot commented Jan 19, 2026

Codecov Report

All modified and coverable lines are covered by tests ✅

@@           Coverage Diff            @@
##           develop    #2329   +/-   ##
========================================
  Coverage    77.95%   77.96%           
========================================
  Files          476      476           
  Lines        97453    97437   -16     
========================================
- Hits         75971    75966    -5     
+ Misses       21482    21471   -11     
Files with missing lines Coverage Δ
...putSystem/Editor/Settings/InputSettingsProvider.cs 1.35% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants