я по сути решил проблему так
private void Update()
{
if (Input.GetKeyDown(KeyCode.S))
{
truCor = true;
StartCoroutine(ChangeCoilor());
}
if (Input.GetKeyDown(KeyCode.A))
truCor = false;
}
IEnumerator ChangeCoilor ()
{
gameObject.GetComponent<Renderer>().material.color =
Color.red;
yield return new WaitForSeconds(1f);
gameObject.GetComponent<Renderer>().material.color = Color.white;
yield return new WaitForSeconds(1f);
if (truCor)
StartCoroutine(ChangeCoilor());
if (!truCor)
StopCoroutine(ChangeCoilor());
но все же интересно как остановить корутину по ссылке есть гайдик какой, а то я ничего не нашел(
Всем спасибо за хелпу