• Как наложить функцию на кнопку клавиатуры в unity?

    @MrStrong
    Смотри у тебя где ты вызываешь StopCoroutine не срабатывает, потому что ты пытаешься остановить другую корутину, а не ту что ты запустил на старте.

    Тебе надо на старте сохранить её в поле и потом её и отсанваливать. Вот так :
    using System.Collections;
    using UnityEngine;
    
    public class lvl_control2 : MonoBehaviour
    {
        [SerializeField] private GameObject tablichka2lvl;
        [SerializeField] private GameObject podtext12lvl;
        [SerializeField] private GameObject podtext22lvl;
        [SerializeField] private GameObject podtext32lvl;
        [SerializeField] private GameObject podtext42lvl;
        private Coroutine _podTextCoroutine;
    
        private void Start()
        {
            _podTextCoroutine = StartCoroutine(Podtextt2lvl());
        }
    
        private void Update()
        {
            bool propusk = Input.GetKeyUp(KeyCode.Space);
    
            if (propusk)
            {
                StopCoroutine(_podTextCoroutine);
    
                podtext12lvl.SetActive(false);
                podtext22lvl.SetActive(false);
                podtext32lvl.SetActive(false);
                podtext42lvl.SetActive(false);
                tablichka2lvl.SetActive(false);
            }
        }
    
        private IEnumerator Podtextt2lvl()
        {
            tablichka2lvl.SetActive(true);
            podtext12lvl.SetActive(true);
            podtext22lvl.SetActive(true);
            podtext32lvl.SetActive(false);
            podtext42lvl.SetActive(false);
            yield return new WaitForSeconds(8f);
            podtext12lvl.SetActive(false);
            podtext22lvl.SetActive(false);
            podtext32lvl.SetActive(true);
            yield return new WaitForSeconds(8f);
            podtext32lvl.SetActive(false);
            podtext42lvl.SetActive(true);
        }
    }using System.Collections;
    using UnityEngine;
    
    public class lvl_control2 : MonoBehaviour
    {
        [SerializeField] private GameObject tablichka2lvl;
        [SerializeField] private GameObject podtext12lvl;
        [SerializeField] private GameObject podtext22lvl;
        [SerializeField] private GameObject podtext32lvl;
        [SerializeField] private GameObject podtext42lvl;
        private Coroutine _podTextCoroutine;
    
        private void Start()
        {
            _podTextCoroutine = StartCoroutine(Podtextt2lvl());
        }
    
        private void Update()
        {
            bool propusk = Input.GetKeyUp(KeyCode.Space);
    
            if (propusk)
            {
                StopCoroutine(_podTextCoroutine);
    
                podtext12lvl.SetActive(false);
                podtext22lvl.SetActive(false);
                podtext32lvl.SetActive(false);
                podtext42lvl.SetActive(false);
                tablichka2lvl.SetActive(false);
            }
        }
    
        private IEnumerator Podtextt2lvl()
        {
            tablichka2lvl.SetActive(true);
            podtext12lvl.SetActive(true);
            podtext22lvl.SetActive(true);
            podtext32lvl.SetActive(false);
            podtext42lvl.SetActive(false);
            yield return new WaitForSeconds(8f);
            podtext12lvl.SetActive(false);
            podtext22lvl.SetActive(false);
            podtext32lvl.SetActive(true);
            yield return new WaitForSeconds(8f);
            podtext32lvl.SetActive(false);
            podtext42lvl.SetActive(true);
        }
    }
    Ответ написан