Не срабатывает OnMouseDown()

На сцене только кубик. Больше ничего. Предполагается, то по клику на сам кубик и кнопку будет меняться цвет у кубика. Согласно цвету изменяется и надпись на кнопке. Сейчас цвет и надпись меняются только если кликать по кнопке. Причём если убрать вообще всё из кода и оставить только клик мышкой, то он всё равно не работает. И на других проектах тоже. Хотя весь день работал. Я совсем не спец и в чём дело понять не могу.
C#
using UnityEngine;
using System.Collections;
 
public class NewBehaviourScript : MonoBehaviour {
 

                public string white = "White";
                public string blue = "Blue";
                public string text = "Press";
                Rect Press = new Rect (0, 100, 150, 50);
                private void OnMouseDown()
                       
                {
                        if (renderer.material.color == Color.blue) {
                               
                                renderer.material.color = Color.white;
                        } else{
                               
                                renderer.material.color = Color.blue;
                        }
                }
                void OnGUI()
                {
                OnMouseDown ();
                        if (GUI.Button (Press, text)) {
                                if (renderer.material.color == Color.blue) {
                                        text = white;
                                        renderer.material.color = Color.white;
                                } else{
                                        text = blue;
                                        renderer.material.color = Color.blue;
                                }
                        }
                       
                }
               
        }
 
Комментарии