Content-Length: 735254 | pFad | http://github.com/Unity-Technologies/InputSystem/pull/2171

2A DOCS: How to use processors by ritamerkl · Pull Request #2171 · Unity-Technologies/InputSystem · GitHub
Skip to content

DOCS: How to use processors #2171

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 45 commits into
base: develop
Choose a base branch
from
Open

DOCS: How to use processors #2171

wants to merge 45 commits into from

Conversation

ritamerkl
Copy link
Collaborator

@ritamerkl ritamerkl commented Apr 23, 2025

Description

This adds more documentation on how to use processors.

Testing status & QA

No testing

Overall Product Risks

  • Complexity: low
  • Halo Effect: low

Comments to 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.

After merge:

  • Create forward/backward port if needed. If you are blocked from creating a forward port now please add a task to ISX-1444.

@ritamerkl ritamerkl marked this pull request as draft April 23, 2025 15:05
@ritamerkl ritamerkl marked this pull request as ready for review April 29, 2025 13:32
@ritamerkl ritamerkl requested a review from jfreire-unity April 29, 2025 13:32
@LeoUnity LeoUnity requested a review from JonMUnity May 1, 2025 12:26
Copy link
Collaborator

@lilisha-unity lilisha-unity left a comment

Choose a reason for hiding this comment

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

I did my first pass on the PR. Please fix the note formatting and replace the placeholder image alt text with something more descriptive. Also, there are quite a few sentences written in passive voice—please rewrite them in active voice where appropriate. You can refer to the Unity style guide for reference: https://docs-style-guide.unity.com/style/use-active-voice.


![Here should be a picture of the Input Action Editor](./Images/Processors-Clamp-Editor.png)

Note that the Bindings can contain input values with very different ranges. In that case, a Scale Processor on the Bindings can help preprocess the values before clamping them (Processors on Actions are applied after Processors on Bindings).
Copy link
Collaborator

@jfreire-unity jfreire-unity May 15, 2025

Choose a reason for hiding this comment

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

In that case, a Scale Processor on the Bindings can help preprocess the values before clamping them (Processors on Actions are applied after Processors on Bindings).

I think it would be good to have an example or expand an existing one to show examples of order of execution of processors. Always better to have an example than saying it in words IMO.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Do you have a specific example in mind?

ritamerkl and others added 10 commits May 27, 2025 15:39
…sors.md

Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
…sors.md

Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
…sors.md

Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
ritamerkl and others added 14 commits May 27, 2025 15:41
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
Co-authored-by: lilisha-unity <94024889+lilisha-unity@users.noreply.github.com>
@codecov-github-com
Copy link

codecov-github-com bot commented May 27, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

@@             Coverage Diff             @@
##           develop    #2171      +/-   ##
===========================================
+ Coverage    67.78%   67.80%   +0.02%     
===========================================
  Files          367      367              
  Lines        53505    53505              
===========================================
+ Hits         36268    36280      +12     
+ Misses       17237    17225      -12     
Flag Coverage Δ
mac_2021.3_pkg 5.41% <ø> (ø)
mac_2021.3_project 70.42% <ø> (ø)
mac_2022.3_pkg 5.19% <ø> (ø)
mac_2022.3_project 65.29% <ø> (ø)
mac_6000.0_pkg 5.20% <ø> (ø)
mac_6000.0_project 67.72% <ø> (+0.02%) ⬆️
mac_6000.1_pkg 5.20% <ø> (ø)
mac_6000.1_project 67.70% <ø> (ø)
mac_6000.2_pkg 5.20% <ø> (ø)
mac_6000.2_project 67.71% <ø> (+0.01%) ⬆️
mac_trunk_pkg 5.20% <ø> (ø)
mac_trunk_project 67.70% <ø> (ø)
win_2021.3_pkg 5.42% <ø> (ø)
win_2021.3_project 70.49% <ø> (ø)
win_2022.3_pkg 5.20% <ø> (ø)
win_2022.3_project 65.36% <ø> (ø)
win_6000.0_pkg 5.20% <ø> (ø)
win_6000.0_project 67.68% <ø> (-0.11%) ⬇️
win_6000.1_pkg 5.20% <ø> (ø)
win_6000.1_project 67.78% <ø> (ø)
win_6000.2_pkg 5.20% <ø> (ø)
win_6000.2_project 67.78% <ø> (-0.01%) ⬇️
win_trunk_pkg 5.20% <ø> (ø)
win_trunk_project 67.78% <ø> (-0.01%) ⬇️

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

see 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Collaborator

@lilisha-unity lilisha-unity left a comment

Choose a reason for hiding this comment

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

Finished my review with some suggestions.

Copy link
Collaborator

@ekcoh ekcoh left a comment

Choose a reason for hiding this comment

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

Looks good to me, added some minor comments


## Processors on Bindings

When you create Bindings for your [actions](Actions.md), you can choose to add Processors to the Bindings. These process the values from the controls they bind to, before the system applies them to the Action value. For instance, you might want to invert the `Vector2` values from the controls along the Y axis before passing these values to the Action that drives the input logic for your application. To do this, you can add an [Invert Vector2](ProcessorTypes.md#invert-vector-2) Processor to your Binding.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Minor: Y-axis?


If you're using Actions defined in the [Input Actions Editor](ActionsEditor.md), or in an [Action Asset](ActionAssets.md), you can add any Processor to your Bindings in the Input Action editor:

1. Select the Binding you want to add Processors to so that the right pane of the window displays the properties for that Binding.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Minor: "right pane" or "right panel"? Maybe call it by its UI title instead?


The [Clamp Processor](ProcessorTypes.md#clamp) clamps the input value to a specified range. The minimum value of the Processor defines the lowest input value that will be accepted, while the value cannot exceed the given maximum value. In combination with the Scale Processor, it is easy to standardize the input value ranges of different devices and place them within a well-defined value spectrum.

#### Example: Racing game speend control
Copy link
Collaborator

Choose a reason for hiding this comment

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

Typo: "speed"


#### Example: Racing game speend control

In a case where the player is not supposed to fall below a certain base speed, but also cannot exceed a certain maximum speed, the Clamp Processor is the one you may want to use.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Generally, IMO this to be game-logic and not input logic, but its fine as-is to show as example.

@ekcoh
Copy link
Collaborator

ekcoh commented Jun 11, 2025

Looks like there is some CI issues that needs attention

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.

4 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/Unity-Technologies/InputSystem/pull/2171

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy