docs.unity3d.com
Search Results for

    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>.value
    InputControl<Vector2>.ReadValue()
    InputControl<Vector2>.ReadValueFromPreviousFrame()
    InputControl<Vector2>.ReadDefaultValue()
    InputControl<Vector2>.ReadValueFromState(void*)
    InputControl<Vector2>.ReadValueFromStateWithCaching(void*)
    InputControl<Vector2>.ReadUnprocessedValueFromStateWithCaching(void*)
    InputControl<Vector2>.ReadUnprocessedValue()
    InputControl<Vector2>.ReadValueFromStateAsObject(void*)
    InputControl<Vector2>.ReadValueFromStateIntoBuffer(void*, void*, int)
    InputControl<Vector2>.WriteValueFromBufferIntoState(void*, int, void*)
    InputControl<Vector2>.WriteValueFromObjectIntoState(object, void*)
    InputControl<Vector2>.ReadValueFromBufferAsObject(void*, int)
    InputControl<Vector2>.CompareValue(void*, void*)
    InputControl<Vector2>.ProcessValue(Vector2)
    InputControl<Vector2>.ProcessValue(ref 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.this[string]
    InputControl.magnitude
    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
    InputControl.optimizedControlDataType
    InputControl.ApplyParameterChanges()
    Namespace: UnityEngine.InputSystem.Controls
    Assembly: Unity.InputSystem.dll
    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

    CalculateOptimizedControlDataType()

    Calculates and returns an optimized data type that can represent a control's value in memory directly.

    Declaration
    protected override FourCC CalculateOptimizedControlDataType()
    Returns
    Type Description
    FourCC

    An optimized data type that can represent a control's value in memory directly. InputStateBlock

    Overrides
    InputControl.CalculateOptimizedControlDataType()
    Remarks

    The value then is cached in optimizedControlDataType. This method is for internal use only, you should not call this from your own code.

    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
    float

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

    Overrides
    InputControl.EvaluateMagnitude(void*)
    Remarks

    Magnitudes do not make sense for all types of controls. For example, for a control that represents an enumeration of values (such as TouchPhaseControl), there is no meaningful linear ordering of values (one could derive a linear ordering through the actual enum values but their assignment may be entirely arbitrary; it is unclear whether a state of Canceled has a higher or lower "magnitude" as a state of Began).

    Controls that have no meaningful magnitude will return -1 when calling this method. Any negative return value should be considered an invalid value.

    See Also
    EvaluateMagnitude()

    FinishSetup()

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

    Declaration
    protected override void FinishSetup()
    Overrides
    InputControl<Vector2>.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.

    Examples
      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*)

    Read value from provided statePtr.

    Declaration
    public override Vector2 ReadUnprocessedValueFromState(void* statePtr)
    Parameters
    Type Name Description
    void* statePtr

    State pointer to read from.

    Returns
    Type Description
    Vector2

    The controls current value.

    Overrides
    InputControl<Vector2>.ReadUnprocessedValueFromState(void*)
    Remarks

    Read value from provided statePtr without any caching.

    See Also
    value

    WriteValueIntoState(Vector2, void*)

    Write a value into state at the given memory.

    Declaration
    public override void WriteValueIntoState(Vector2 value, void* statePtr)
    Parameters
    Type Name Description
    Vector2 value

    Value for the control to store in the state.

    void* statePtr

    State containing the control's stateBlock. Will receive the state as converted from the given value.

    Overrides
    InputControl<Vector2>.WriteValueIntoState(Vector2, void*)
    Remarks

    Writing values will NOT apply processors to the given value. This can mean that when reading a value from a control after it has been written to its state, the resulting value differs from what was written.

    Exceptions
    Type Condition
    NotSupportedException

    The control does not support writing. This is the case, for example, that compute values (such as the magnitude of a vector).

    See Also
    WriteValueFromBufferIntoState(void*, int, void*)

    Extension Methods

    InputControlExtensions.CheckStateIsAtDefault(InputControl)
    InputControlExtensions.CheckStateIsAtDefault(InputControl, void*, void*)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl, void*)
    InputControlExtensions.CompareState(InputControl, void*, void*)
    InputControlExtensions.CompareState(InputControl, void*, void*, void*)
    InputControlExtensions.CompareStateIgnoringNoise(InputControl, void*)
    InputControlExtensions.FindControlsRecursive<TControl>(InputControl, IList<TControl>, Func<TControl, bool>)
    InputControlExtensions.FindInParentChain<TControl>(InputControl)
    InputControlExtensions.GetStatePtrFromStateEvent(InputControl, InputEventPtr)
    InputControlExtensions.HasValueChangeInEvent(InputControl, InputEventPtr)
    InputControlExtensions.HasValueChangeInState(InputControl, void*)
    InputControlExtensions.IsActuated(InputControl, float)
    InputControlExtensions.IsPressed(InputControl, float)
    InputControlExtensions.ReadDefaultValueAsObject(InputControl)
    InputControlExtensions.ReadValueAsObject(InputControl)
    InputControlExtensions.ReadValueFromEventAsObject(InputControl, InputEventPtr)
    InputControlExtensions.ReadValueIntoBuffer(InputControl, void*, int)
    InputControlExtensions.ResetToDefaultStateInEvent(InputControl, InputEventPtr)
    InputControlExtensions.WriteValueFromObjectIntoEvent(InputControl, InputEventPtr, object)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl, TValue, InputEventPtr)
    InputControlExtensions.WriteValueIntoState(InputControl, void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl, TValue, void*)
    InputControlExtensions.QueueValueChange<TValue>(InputControl<TValue>, TValue, double)
    InputControlExtensions.ReadUnprocessedValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr)
    InputControlExtensions.ReadUnprocessedValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr, out TValue)
    InputControlExtensions.ReadValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr)
    InputControlExtensions.ReadValueFromEvent<TValue>(InputControl<TValue>, InputEventPtr, out TValue)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl<TValue>, TValue, InputEventPtr)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl<TValue>, void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl<TValue>, TValue, void*)
    InputControlExtensions.WriteValueIntoState<TValue, TState>(InputControl<TValue>, TValue, ref TState)
    In This Article
    • Constructors
      • Vector2Control()
    • Properties
      • x
      • y
    • Methods
      • CalculateOptimizedControlDataType()
      • EvaluateMagnitude(void*)
      • FinishSetup()
      • ReadUnprocessedValueFromState(void*)
      • WriteValueIntoState(Vector2, void*)
    • Extension Methods
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)