- Создайте или импортируйте необходимый объект (например, модель)
2. Выделите префаб в папке, или game object на сцене
3. Откройте Varwin - Create - Object

4. Откроется окно создания объекта. Если префаб был выделен перед открытием окна, он автоматически добавится в поле Game Object.
5. Дайте объекту желаемое название. Добавьте теги для быстрого поиска объекта. Добавьте информацию об авторе.
6. Нажмите Create. Система предложит немного подождать.

7. Объект создан. Он состоит из префаба объекта, .asmdef-файла, который нужен для компиляции кода объекта, и класса объекта в уникальном namespace. Если появится необходимость добавить еще классов, они должны будут лежать в той же самой директории и находиться в том же самом namespace.

8. На префабе объекта лежит компонент VarwinObjectDescriptor
, который отвечает за его настройки. Здесь можно изменить отображаемое имя объекта, а так же добавить базовые поведения, отметив галочку Add Behaviours At Runtime.

9. Для того, чтобы объект заработал, ему нужно добавить какой-нибудь коллайдер и Rigidbody с необходимыми настройками. Можно сделать это автоматически, нажав на Add components в компоненте VarwinObjectDescriptor
, а можно добавить их самостоятельно. Коллайдер лучше всего выравнивать по размеру объекта, чтобы его было удобно выделять и брать в руку. Rigidbody настраивается в зависимости от желаемого поведения объекта

10. Для объекта создался класс Button
, наследующий VarwinObject
. Это основной скрипт объекта, который соединяет его с платформой и реализует логику.
using UnityEngine;
using Varwin.Public;
namespace Varwin.Types.Button_84a5464097e9475f834183e24913b1d0
{
public class Button : VarwinObject
{
void Start()
{
}
void Update()
{
}
}
}
11. Все готово для написания кода объекта.
Про добавление возможности брать в руку или использовать объект можно почитать в статье Взаимодействие с Контроллерами. Более продвинутые техники можно прочитать в разделе Scripting.