Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 932 Bytes

File metadata and controls

35 lines (28 loc) · 932 Bytes
uid input-system-screen-custom-control

Create a custom on-screen control

To create custom input controls, you can extend OnScreenControl.

The following sample demonstrates one way to do this:

    [AddComponentMenu("Input/On-Screen Button")]
    public class OnScreenButton : OnScreenControl, IPointerDownHandler, IPointerUpHandler
    {
        public void OnPointerUp(PointerEventData data)
        {
            SendValueToControl(0.0f);
        }

        public void OnPointerDown(PointerEventData data)
        {
            SendValueToControl(1.0f);
        }

        [InputControl(layout = "Button")]
        [SerializeField]
        private string m_ControlPath;

        protected override string controlPathInternal
        {
            get => m_ControlPath;
            set => m_ControlPath = value;
        }
    }