docs.unity3d.com
    Show / Hide Table of Contents

    Class Vector2Control

    A floating-point 2D vector control composed of two AxisControls.

    Inheritance
    Object
    InputControl
    InputControl<Vector2>
    Vector2Control
    DeltaControl
    DpadControl
    StickControl
    Inherited Members
    InputControl<Vector2>.valueType
    InputControl<Vector2>.valueSizeInBytes
    InputControl<Vector2>.ReadValue()
    InputControl<Vector2>.ReadValueFromPreviousFrame()
    InputControl<Vector2>.ReadDefaultValue()
    InputControl<Vector2>.ReadValueFromState(Void*)
    InputControl<Vector2>.ReadUnprocessedValue()
    InputControl<Vector2>.ReadValueFromStateAsObject(Void*)
    InputControl<Vector2>.ReadValueFromStateIntoBuffer(Void*, Void*, Int32)
    InputControl<Vector2>.WriteValueFromBufferIntoState(Void*, Int32, Void*)
    InputControl<Vector2>.WriteValueFromObjectIntoState(Object, Void*)
    InputControl<Vector2>.ReadValueFromBufferAsObject(Void*, Int32)
    InputControl<Vector2>.CompareValue(Void*, Void*)
    InputControl<Vector2>.ProcessValue(Vector2)
    InputControl.name
    InputControl.displayName
    InputControl.shortDisplayName
    InputControl.path
    InputControl.layout
    InputControl.variants
    InputControl.device
    InputControl.parent
    InputControl.children
    InputControl.usages
    InputControl.aliases
    InputControl.stateBlock
    InputControl.noisy
    InputControl.synthetic
    InputControl.Item[String]
    InputControl.ToString()
    InputControl.EvaluateMagnitude()
    InputControl.TryGetChildControl(String)
    InputControl.TryGetChildControl<TControl>(String)
    InputControl.GetChildControl(String)
    InputControl.GetChildControl<TControl>(String)
    InputControl.RefreshConfigurationIfNeeded()
    InputControl.RefreshConfiguration()
    InputControl.m_StateBlock
    InputControl.currentStatePtr
    InputControl.previousFrameStatePtr
    InputControl.defaultStatePtr
    InputControl.noiseMaskPtr
    InputControl.stateOffsetRelativeToDeviceRoot
    Namespace: UnityEngine.InputSystem.Controls
    Syntax
    public class Vector2Control : InputControl<Vector2>
    Remarks

    An example is position.

    Debug.Log(string.Format("Mouse position x={0} y={1}",
        Mouse.current.position.x.ReadValue(),
        Mouse.current.position.y.ReadValue()));

    Normalization is not implied. The X and Y coordinates can be in any range or units.

    Constructors

    Vector2Control()

    Default-initialize the control.

    Declaration
    public Vector2Control()

    Properties

    x

    Horizontal position of the control.

    Declaration
    public AxisControl x { get; set; }
    Property Value
    Type Description
    AxisControl

    Control representing horizontal motion input.

    y

    Vertical position of the control.

    Declaration
    public AxisControl y { get; set; }
    Property Value
    Type Description
    AxisControl

    Control representing vertical motion input.

    Methods

    EvaluateMagnitude(Void*)

    Compute an absolute, normalized magnitude value that indicates the extent to which the control is actuated in the given state.

    Declaration
    public override float EvaluateMagnitude(void *statePtr)
    Parameters
    Type Name Description
    Void* statePtr

    State containing the control's stateBlock.

    Returns
    Type Description
    Single

    Amount of actuation of the control or -1 if it cannot be determined.

    Overrides
    InputControl.EvaluateMagnitude(Void*)
    See Also
    EvaluateMagnitude()
    stateBlock

    FinishSetup()

    Perform final initialization tasks after the control hierarchy has been put into place.

    Declaration
    protected override void FinishSetup()
    Overrides
    InputControl.FinishSetup()
    Remarks

    This method can be overridden to perform control- or device-specific setup work. The most common use case is for looking up child controls and storing them in local getters.

    public class MyDevice : InputDevice
    {
        public ButtonControl button { get; private set; }
        public AxisControl axis { get; private set; }
    
        protected override void OnFinishSetup()
        {
            // Cache controls in getters.
            button = GetChildControl("button");
            axis = GetChildControl("axis");
        }
    }

    ReadUnprocessedValueFromState(Void*)

    Declaration
    public override Vector2 ReadUnprocessedValueFromState(void *statePtr)
    Parameters
    Type Name Description
    Void* statePtr
    Returns
    Type Description
    Vector2
    Overrides
    UnityEngine.InputSystem.InputControl<UnityEngine.Vector2>.ReadUnprocessedValueFromState(System.Void*)

    WriteValueIntoState(Vector2, Void*)

    Declaration
    public override void WriteValueIntoState(Vector2 value, void *statePtr)
    Parameters
    Type Name Description
    Vector2 value
    Void* statePtr
    Overrides
    UnityEngine.InputSystem.InputControl<UnityEngine.Vector2>.WriteValueIntoState(UnityEngine.Vector2, System.Void*)

    Extension Methods

    InputControlExtensions.FindInParentChain<TControl>(InputControl)
    InputControlExtensions.IsPressed(InputControl, Single)
    InputControlExtensions.IsActuated(InputControl, Single)
    InputControlExtensions.ReadValueAsObject(InputControl)
    InputControlExtensions.ReadValueIntoBuffer(InputControl, Void*, Int32)
    InputControlExtensions.ReadDefaultValueAsObject(InputControl)
    InputControlExtensions.ReadValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr)
    InputControlExtensions.ReadValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr, out TValue)
    InputControlExtensions.ReadValueFromEventAsObject(InputControl, InputEventPtr)
    InputControlExtensions.ReadUnprocessedValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr)
    InputControlExtensions.ReadUnprocessedValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr, out TValue)
    InputControlExtensions.WriteValueFromObjectIntoEvent(InputControl, InputEventPtr, Object)
    InputControlExtensions.WriteValueIntoState(InputControl, Void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl, TValue, Void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl<TValue>, TValue, Void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl<TValue>, Void*)
    InputControlExtensions.WriteValueIntoState<TValue, TState>(InputControl<TValue>, TValue, ref TState)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl, TValue, InputEventPtr)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl<TValue>, TValue, InputEventPtr)
    InputControlExtensions.CheckStateIsAtDefault(InputControl)
    InputControlExtensions.CheckStateIsAtDefault(InputControl, Void*, Void*)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl, Void*)
    InputControlExtensions.CompareStateIgnoringNoise(InputControl, Void*)
    InputControlExtensions.CompareState(InputControl, Void*, Void*, Void*)
    InputControlExtensions.CompareState(InputControl, Void*, Void*)
    InputControlExtensions.HasValueChangeInState(InputControl, Void*)
    InputControlExtensions.HasValueChangeInEvent(InputControl, InputEventPtr)
    InputControlExtensions.GetStatePtrFromStateEvent(InputControl, InputEventPtr)
    InputControlExtensions.ResetToDefaultStateInEvent(InputControl, InputEventPtr)
    InputControlExtensions.QueueValueChange<TValue>(InputControl<TValue>, TValue, Double)
    InputControlExtensions.FindControlsRecursive<TControl>(InputControl, IList<TControl>, Func<TControl, Boolean>)
    In This Article
    • Constructors
      • Vector2Control()
    • Properties
      • x
      • y
    • Methods
      • EvaluateMagnitude(Void*)
      • FinishSetup()
      • ReadUnprocessedValueFromState(Void*)
      • WriteValueIntoState(Vector2, Void*)
    • Extension Methods
    Back to top
    Terms of use
    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