Documentation index for AI agents (llms.txt) A Markdown version of every page is available: request the page's source under /docs/, follow the "alternate" link in this page's head, or start from /llms.txt.
Visual Script logo Manual

Keyboard Arrows#

Input / Keyboard Arrows

  • Can Read

  • Cannot Write

Description#

Returns the value of the Arrow keys as a Vector2

Code#

using System;
using UnityEngine;
using UnityEngine.InputSystem;
using VisualScript.Icons;

namespace VisualScript.Runtime
{
    [Get]
    
    [Title("Keyboard Arrows")]
    [Category("Input/Keyboard Arrows")]
    
    [Description("Returns the value of the Arrow keys as a Vector2")]
    [Image(typeof(IconWASD), ColorTheme.Type.Blue)]
    
    [Keywords("Move", "Keys")]
    
    [Serializable]
    public class TypeVector2InputKeyboardArrows : TypeVector2
    {
        [NonSerialized] private UnityEngine.InputSystem.InputAction m_InputAction;

        ~TypeVector2InputKeyboardArrows()
        {
            this.m_InputAction?.Disable();
            this.m_InputAction?.Dispose();
        }
        
        public UnityEngine.InputSystem.InputAction InputAction
        {
            get
            {
                if (this.m_InputAction == null)
                {
                    this.m_InputAction = new UnityEngine.InputSystem.InputAction(
                        "Arrows",
                        InputActionType.Value
                    );

                    this.m_InputAction.AddCompositeBinding("2DVector")
                        .With("Up", "<Keyboard>/upArrow")
                        .With("Down", "<Keyboard>/downArrow")
                        .With("Left", "<Keyboard>/leftArrow")
                        .With("Right", "<Keyboard>/rightArrow");
                    
                    this.m_InputAction.Enable();
                }
                
                return this.m_InputAction;
            }
        }

        public override Vector2 Get(Args args)
        {
            return this.InputAction?.ReadValue<Vector2>() ?? default;
        }

        public override string ToString()
        {
            return "Keyboard Arrows";
        }
        
        protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
    }
}
Visual Script logoVisual Script © Catsoft Works 2026. All rights reserved.