Как исправить ошибку «No MonoBehavior scripts in the file, or their names do not match the file name» Unity C#?

Вот мой скрипт:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    public float speed;

    private Rigidbody2D rb;
    private Vector2 moveInput;
    private Vector2 moveVelocity;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        moveInput = new Vector2(Input.GetAxisRaw(Horizontal)
        moveVelocity = moveInput.normalized * speed;
    }

    void FixedUpdate()
    {
        rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime);
    }
}
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 2
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Для начала ПРОЧИТАТЬ, что написано в сообщении об ошибке.
No MonoBehavior scripts in the file, or their names do not match the file name» Unity C#

[Google > English to Russian]
В файле отсутствуют скрипты MonoBehavior или их имена не соответствуют имени файла »Unity C #

После переименовать файл со скриптом или изменить имя класса в скрипте, чтобы они совпадали:
Player.cs + class Player
Ответ написан
@vabka
Токсичный
Если закинуть сообщение об ошибке в гугл переводчик, то всё становится понятно:

В файле нет скриптов MonoBehaviour или их имена не совпадают с именем файла

Это Unity-специфичная ошибка, по тому тег C# тут не нужен.

Напомню, что юнити непонятно почему называет классы скриптами
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы