Class AxisComposite | Package Manager UI website
docs.unity3d.com
    Show / Hide Table of Contents

    Class AxisComposite

    A single axis value computed from a "negative" and a "positive" button.

    Inheritance
    System.Object
    InputBindingComposite
    InputBindingComposite<System.Single>
    AxisComposite
    Inherited Members
    InputBindingComposite<Single>.valueType
    InputBindingComposite<Single>.valueSizeInBytes
    InputBindingComposite<Single>.ReadValue(InputBindingCompositeContext, Void*, Int32)
    InputBindingComposite<Single>.ReadValueAsObject(InputBindingCompositeContext)
    Namespace: UnityEngine.InputSystem.Composites
    Syntax
    public class AxisComposite : InputBindingComposite<float>
    Remarks

    This composite allows to arrange any arbitrary two buttons from a device in an axis configuration such that one button pushes in one direction and the other pushes in the opposite direction.

    The limits of the axis are determined by minValue and maxValue. By default, they are set to [-1..1]. The values can be set as parameters.

    var action = new InputAction();
    action.AddCompositeBinding("Axis(minValue=0,maxValue=2")
        .With("Negative", "<Keyboard>/a")
        .With("Positive", "<Keyboard>/d");

    If both buttons are pressed at the same time, the behavior depends on whichSideWins. By default, neither side will win (Neither) and the result will be 0 (or, more precisely, the midpoint between minValue and maxValue). This can be customized to make the positive side win (Positive) or the negative one (Negative).

    This is useful, for example, in a driving game where break should cancel out accelerate. By binding negative to the break control(s) and positive to the acceleration control(s), and setting whichSideWins to Negative, if the break button is pressed, it will always cause the acceleration button to be ignored.

    The values returned are the actual actuation values of the buttons, unaltered for positive and inverted for negative. This means that if the buttons are actual axes (e.g. the triggers on gamepads), then the values correspond to how much the axis is actuated.

    Fields

    maxValue

    The upper bound that the axis is limited to. 1 by default.

    Declaration
    public float maxValue
    Field Value
    Type Description
    System.Single
    Remarks

    This value corresponds to the full actuation of the control(s) bound to positive.

    var action = new InputAction();
    action.AddCompositeBinding("Axis(minValue=0,maxValue=2")
        .With("Negative", "<Keyboard>/a")
        .With("Positive", "<Keyboard>/d");
    See Also
    minValue
    positive

    minValue

    The lower bound that the axis is limited to. -1 by default.

    Declaration
    public float minValue
    Field Value
    Type Description
    System.Single
    Remarks

    This value corresponds to the full actuation of the control(s) bound to negative.

    var action = new InputAction();
    action.AddCompositeBinding("Axis(minValue=0,maxValue=2")
        .With("Negative", "<Keyboard>/a")
        .With("Positive", "<Keyboard>/d");
    See Also
    maxValue
    negative

    negative

    Binding for the button that controls the positive direction of the axis.

    Declaration
    public int negative
    Field Value
    Type Description
    System.Int32
    Remarks

    This property is automatically assigned by the input system.

    positive

    Binding for the button that controls the negative direction of the axis.

    Declaration
    public int positive
    Field Value
    Type Description
    System.Int32
    Remarks

    This property is automatically assigned by the input system.

    whichSideWins

    If both the positive and negative button are actuated, this determines which value is returned from the composite.

    Declaration
    public AxisComposite.WhichSideWins whichSideWins
    Field Value
    Type Description
    AxisComposite.WhichSideWins

    Properties

    midPoint

    The value that is returned if the composite is in a neutral position, i.e. if neither positive nor negative are actuated or if whichSideWins is set to Neither and both positive and negative are actuated.

    Declaration
    public float midPoint { get; }
    Property Value
    Type Description
    System.Single

    Methods

    EvaluateMagnitude(ref InputBindingCompositeContext)

    Declaration
    public override float EvaluateMagnitude(ref InputBindingCompositeContext context)
    Parameters
    Type Name Description
    InputBindingCompositeContext context
    Returns
    Type Description
    System.Single
    Overrides
    InputBindingComposite.EvaluateMagnitude(ref InputBindingCompositeContext)

    ReadValue(ref InputBindingCompositeContext)

    Declaration
    public override float ReadValue(ref InputBindingCompositeContext context)
    Parameters
    Type Name Description
    InputBindingCompositeContext context
    Returns
    Type Description
    System.Single
    Overrides
    UnityEngine.InputSystem.InputBindingComposite<System.Single>.ReadValue(UnityEngine.InputSystem.InputBindingCompositeContext)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023