Por ejemplo, durante la depuración, a menudo tengo una entrada que me permite restablecer la escena actual. Pero, no uso esto con tanta frecuencia, así que tal vez no sea necesario verificar cada cuadro en Update().
Soy consciente de InvokeRepeating(). Pero si busco GetButtonDown(), ¿no tendré que presionar el botón en el cuadro exacto al que se llama el método invocado?
Llamar al método de entrada en cada cuadro no es muy lento. Pero podría verificar la entrada cada x segundos y almacenar el resultado en alguna variable de clase y usar esta variable para la detección de entrada. Espere algo de latencia de entrada con este método. En mi opinión, el mejor enfoque es usar el nuevo sistema de entrada:
Algunos tutoriales para configurar este sistema.
Con este sistema de entrada, puedes crear tu propia InputAction y suscribirte a algún evento de la misma. Un ejemplo sería:
new PlayerInput().Gameplay.Shoot.performed += OnShoot; La clase PlayerInput fue generada por la unidad de acuerdo con mi configuración en el editor: 