Ну, как вариант, может, и имеет место быть:
using System.Collections;
using UnityEngine;
using UnityEngine.EventSystems;
public class Test : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
private bool m_IsPressed;
public void OnPointerDown(PointerEventData eventData)
{
m_IsPressed = true;
StartCoroutine(Execute());
}
public void OnPointerUp(PointerEventData eventData)
{
m_IsPressed = false;
}
private IEnumerator Execute()
{
while (m_IsPressed == true)
{
yield return new WaitForSeconds(0.5f);
// что-либо делать
}
}
}
P.S. Время можешь выставить своё