Можно создать класс, наследуемы от MonoBehaviour, назовем его MonoBehaviourPaused, добавляешь в него protected bool IsPause, и чекаешь в нужных проверках это свойство. Таким образом ты можешь ставить на паузу отдельные компоненты в любой момент времени. Можно еще добавить PauseManager, в нем создать метод SetPause, а так же переменную IsPauseGlobal, а в MonoBehaviourPaused добавить static List ActiveList, а так же 2 метода OnEnable и OnDisable, в OnEnable можно чекать на IsPauseGlobal и выставлять IsPause, а так же добавлять this в статический лист, а в OnDisable убирать из этого листа. В методе SetPause в PauseManager проходишься по листу MonoBehaviourPaused.ActiveList и выставляешь всем IsPause, таким образом можешь всем выставить IsPause одной строкой, при этом выставится только активным компонентам.