Top.Mail.Ru
Ответы

Почему Unity отказывается добавлять данный скин к объекту? Пишет ошибку "Cant add script."

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class LookMouse : MonoBehaviour

{

public enum RorationAxes

{

XandY,

X,

Y

}

public RorationAxes _axes = RorationAxes.XandY;

public float _rorationSpeedHor = 5.0f;

private void Update()

{

//Проверим ось движения

if (_axes == RorationAxes.XandY)

{

}

else if(_axes == RorationAxes.X)

{

transform.Rotate(0, _rorationSpeedHor, 0);

}

else if(_axes == RorationAxes.Y)

{

}

}

}

По дате
По рейтингу
Аватар пользователя
Мыслитель
3нед

Ошибка "Can't add script" в Unity чаще всего означает, что Unity не может прикрепить скрипт к объекту, потому что внутри кода есть ошибка, из-за которой компилятор не может правильно собрать класс.

Вот что может быть не так в твоём коде:

🔴 1.

Опечатка в названии RorationAxes

Ты написал RorationAxes, но, скорее всего, хотел написать RotationAxes.

Это не критично, но может быть путаница, если в других местах ты пишешь правильно, а тут нет.

🔴 2.

Скрипт не совпадает с именем файла

Если файл называется, например, LookMouse.cs, то класс обязан называться точно так же:

public class LookMouse : MonoBehaviour

✅ Ты это сделал правильно — молодец.

НО! Проверь, что:

  • в проекте нет другого класса с тем же именем (в другом .cs файле),

  • нет синтаксических ошибок в других скриптах — это тоже может вызвать Can't add script.

🔴 3.

Поля не сериализуются или тип не поддерживается

В твоём случае это не так. Все поля нормальные (enum, float), так что причина не в этом.

🔴 4.

Класс LookMouse не public?

Нет, он у тебя public — всё хорошо.

✅ Что делать:

  1. Проверь консоль Unity (Ctrl + Shift + C) — там должна быть реальная ошибка компиляции, из-за которой скрипт не добавляется.

  2. Переименуй RorationAxes → RotationAxes, чтобы не путаться.

  3. Если другие скрипты тоже есть — временно закомментируй всё и проверь только этот.

  4. Перекомпилируй проект (Unity делает это сам, но можно помочь: Assets > Reimport All).

💡 Советы

Если хочешь протестировать добавление — можно упростить:

using UnityEngine;

public class LookMouse : MonoBehaviour

{

    void Update()

    {

        transform.Rotate(0, 1, 0);

    }

}

Если этот скрипт добавляется — значит проблема в предыдущей версии (либо в enum, либо в ошибках где-то ещё).

Хочешь — можешь скинуть скриншот ошибок в консоли Unity, я точно скажу, в чём проблема.