Ошибка при попытке билда 2D проекта в Unity

Создал небольшой проект, однако при попытке билда выдаётся куча ошибок, связанных с пространствами имён в C# скриптах. введите сюда описание изображения

Нашёл совет - в начале и в конце скрипта написать #if UNITY_EDITOR и #endif соответственно.

Пример скрипта:

#if UNITY_EDITOR
using UnityEngine;

[CreateAssetMenu(fileName = "New Weapon", menuName = "Weapon")]
public class CreateWeaponData : ScriptableObject
{
    public float Damage;
    public float AttackDelay;
    public int ComboCount;
    public float ResetComboTime;
    public float StaminaCost;
}
#endif

Совсем не разбираюсь в этой теме, однако, мне всё равно кажется, что это не решение проблемы. После того, как я это сделал со всеми скриптами, билд прошёл успешно, но появилась другая проблема - в запущенном название_игры.exe файле ни один скрипт не работал, тоесть, ни передвижение, ни какие либо другие скрипты. введите сюда описание изображения Я новичок в Unity, да и в геймдеве в целом, пожалуйста, помогите с решением этой проблемы.


Ответы (1 шт):

Автор решения: Nick Shakhrai

Проблема в том, что ты определяешь MonoBehaviour, который используется только в редакторе. Это означает, что компонент сериализуется в GameObject, но скрипт не существует в сборке (поскольку ты полностью вложил его в UNITY_EDITOR). Таким образом, сборка проигрывателя сталкивается с несуществующим компонентом, который он пытается загрузить. Вот почему ты получаешь ошибку.

Попробуй билдить с установленной галочкой Development Build, она находится в File -> Build Settings, а также проверь находятся ли твои скрипты в директории с проектом.

→ Ссылка