Varwin SDK использует .admdef-файлы при создании и сборки объектов. Поэтому, любые дополнительные скрипты на объекте (помимо добавленных автоматически) при билде объекта будут проигнорированы

Данная особенность инструмента вызывает известные проблемы, связанные с переиспользованием кода. Для того, чтобы использовать одни и те же классы в разных объектах, необходимо создать библиотеку, содержащую эти классы

После изменения библиотеки необходимо перебилдить все объекты, использующие данную библиотеку

Данный урок пошагово рассказывает о процессе создания переиспользуемых компонентов

Шаг 1. Создать директорию, в которой будут находиться классы библиотеки

Шаг 2. Внутри директории создать .asmdef-файл. Его имя должно совпадать с именем namespace, в котором находятся необходимые классы

В разделе Assembly Definition References добавить ссылку на библиотеку ядра - VarwinCore

Шаг 3. Добавить в директорию необходимые классы. Они все должны находиться в одном namespace с уникальным именем, обозначающим библиотеку

 using Varwin;
 using UnityEngine;
 using Varwin.Public;

 namespace Switch.v1;
 {
    [RequireComponent(typeof(Rigidbody))]
    [RequireComponent(typeof(BoxCollider))]
    [RequireComponent(typeof(Animator))]
    public class SwitchBehaviour : MonoBehaviour, IUseStartAware
    {
        public bool ChangeStateOnAnimation = false;
        private Animator _animator;
        private bool _state = false;
    }
}

Шаг 4. В .asmdef-файле объекта, который должен ссылаться на созданную библиотеку, в разделе Assembly Definition References необходимо добавить ссылку на эту библиотеку

Шаг 5. Теперь все классы из библиотеки можно использовать в объекте, который ссылается на нее. Таких объектов может быть сколько угодно, и во всех можно будет использовать общий код библиотеки