Есть шапка класса:
 public class MoveCam : MonoBehaviour 
Класс называется MoveCam, это потомок класса MonoBehaviour.
После шапки в фигурных скобках идет {тело класса} на много строчек.
В теле класса могут быть поля — переменные любых типов, публичные (public), приватные (private), защищенные (protected) и так далее.
Пример поля:
 public float mouseX; 
Это публичное поле по имени mouseX, оно имеет тип float (дробное число).
Также в теле класса могут быть методы — именованные кусочки кода, которые можно вызывать.
У метода, как и у класса, есть шапка и {тело}.
Пример метода:
 void Start() // В шапке метода никакие точки с запятой не нужны
{ 
    Debug.Log("Начинаем"); 
} 
Этот метод называется Start.
Он не имеет параметров: в круглых скобках () ничего нет.
Он не имеет результата: его тип void — пустота.
В теле метода сказано добавить в лог новую запись со словом «Начинаем».
В методах могут быть объявлены локальные переменные. Например:
 int i = 10; // Переменная i целочисленного типа имеет значение 10 
string s = "Привет"; // Переменная s строкового типа имеет значение "Привет" 
Но локальные переменные в методе не могут быть приватными или публичными.
Иными словами, мы не можем написать в методе так:
 void Start()  
{ 
    public float mouseX; 
} 
Публичное поле может быть объявлено в классе, но не в методе класса.
Полагаю, вам нужно это поле. Но объявить его следует за пределами метода Start.
 public float mouseX;
void Start()   
{  
  
} 
Теперь посмотрим, как пишется условный оператор.
Условный оператор позволяет указать условие, при котором кусочек кода должен быть выполнен. Простой пример — если школьник получил пятерку, то хвалим его:
 if (grade == 5) // Точка с запятой здесь не нужна
{
    Debug.Log("Молодец!");
} 
Во всех остальных случаях надпись «Молодец» не попадет в лог.