Check & Spawn doesn't work after the game starts

Hello there,
I have the first problem with C#

CheckOnOff is supposed to check in UIManager script if the game (gameplay) is on, or not. If it’s on, it spawns player, enemies and powerups.
If I put it in Update, then it spawn multiple times, if I put it in anywhere else, it doesn’t work.

    private void CheckOnOff()
        _CheckOnOff = Canvas.GetComponent<UIManager>();
        if (_CheckOnOff.gameplay == true)

You have to put it in start void like this way

     private void Start()