Перенос проектов со старых версий

Перенос проектов с 0.13.х на 0.16.х

Экспорт проектов

Данная статья поможет вам в процессе переноса проектов с более старой версии на новую. При переходе с версии 13.х на 16.х, у пользователя может возникнуть ряд внештатных ситуаций, избежать которые поможет эта инструкция:

  • Перед установкой новой версии Varwin (16.x), желательно экспортировать необходимые проекты, чтобы иметь под рукой сохраненную рабочую копию
../../_images/14.png
  • После установки новой версии Varwin, запускаем его и переходим в список проектов

Примечание

Если установка новой версии Varwin происходила без очистки данных, то в списке находим необходимый проект, или же импортируем его из созданного нами ранее бэкапа

Конвертация логики

Далее необходимо, чтобы Varwin сконвертировал логику, которая была реализована в 13 версии под новую версию платформы. Для этого необходимо для каждой сцены произвести следующие действия:

  1. Переходим в проект, открываем редактор логики одной из сцен
../../_images/32.png
  1. Производим любые манипуляции на рабочей области редактора логики, например подвинем какой – либо блок – наша задача сделать кнопку «Применить» активной
../../_images/42.png
  1. Нажимаем на кнопку «Применить», тем самым запуская процесс конвертации логики

Обновление объектов

Далее необходимо обновить объекты до последней версии – в них были исправлены ошибки, улучшена производительность и добавлен новый функционал

  1. Для этого переходим в редактор сцены
../../_images/52.png
  1. В окне редактора, в верхней панели инструментов, находим кнопку запуска виджета версионирования объектов и нажимаем на нее
../../_images/62.png
  1. Открывается окно версионирования объектов. Мы можем обновить как единично выбранные объекты, так и все сразу. В нашем случае рекомендуется обновить все объекты сразу, нажав на соответствующую кнопку. Изначально в списке будут только встроенные в платформу объекты. Если в проекте используются и «сторонние» объекты, сделанные с помощью Varwin SDK, рекомендуется их пересобрать в Unity и загрузить в платформу, об этом будет ниже
../../_images/71.png
  1. Обновления объектов вступят в силу только после перезапуска сцены, поэтому необходимо закрыть виджет версионирования, нажав на крестик
  2. И далее нажать на кнопку «Ок» в появившемся окне
../../_images/9.png
  1. Далее необходимо перезапустить редактор сцены, чтобы изменения вступили в силу. Для этого закроем окно редактора

Исправление логики объектов

Снова перейдем в редактор логики сцены, в которой мы обновили объекты. После обновления объектов, некоторые их блоки пометятся удаленными, а некоторые как устаревшие:

../../_images/111.png ../../_images/121.png

Устаревшие блоки будут продолжать работать, но правильная их работа не может быть гарантирована. Следующий этап переноса проектов – подмена удаленных и, при желании необходимости – устаревших блоков. Для этого необходимо в списке блоков объекта найти аналогичный блок и заменить им старый. На примере объекта «Текст»:

  1. Находим аналогичный блок
../../_images/131.png
  1. Перетаскиваем его в нужное место и конфигурируем, как старый
../../_images/141.png
  1. Удаляем старый блок
../../_images/15.png
  1. Аналогичные операции проделываем до тех пор, пока в редакторе логики не останется ни одного блока, помеченного удаленным

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

  1. Нажимаем кнопку «Применить»
../../_images/16.png
  1. Если в редакторе логики остаются удаленные блоки, рабочая область сфокусируется на таком блоке, а кнопка «Применить» изменится в «Применить принудительно»
../../_images/17.png

Примечание

После нажатия на кнопку «Применить принудительно», текущее состояние логики сохранится и можно будет продолжить работу с ней в будущем

  1. Как только все блоки в редакторе логики будут восстановлены, кнопка «Применить» более не изменяется в кнопку «Применить принудительно», проект можно считать перенесенным

Примечание

Рекомендуется также сверится с документацией, описывающей обновленное поведение блоков в рабочем пространстве редактора логики, чтобы, возможно, скорректировать некоторые моменты Вашей логики

Пересборка «кастомных» объектов, сделанных с помощью Varwin SDK

  1. Необходимо установить LTS – версию Unity 2021 (2021.3.0 LTS) и создать новый Unity проект на этой версии

  2. Необходимо собрать ресурсы и исходники Ваших объектов

    Примечание

    Если используется репозиторий для хранения ресурсов, шаги ниже можно пропустить

    2.1. Открываем проект на Unity 2018, в котором находятся объекты, которые необходимо пересобрать

    2.2. Переходим в окно «Project» и в пустом месте нажимаем правой кнопкой мыши, выбираем пункт «Export package…»

    2.3. В открывшемся окне помечаем галочками те папки и ресурсы, которые необходимо перенести

    ../../_images/18.png

    Необходимо снять галочки с папок «Plugins» (если в проекте используются какие – то плагины, помимо тех, что на скриншоте, то необходимо выделить только их), «SteamVR_Input», «Varwin» – это ресурсы Varwin SDK 13.х, они нам не понадобятся

    2.4. Нажимаем кнопку «Export» и экспортируем пакет в удобное место

    2.5. Открываем проект, созданный на Unity 2021 и устанавливаем Varwin SDK для 0.16.x, следуя инструкции по установке SDK и подсказкам в всплывающих окнах

    2.6. После установки SDK импортируем пакет с исходниками объектов и ресурсов, который был экспортирован из Unity 2018 (или скачиваем ресурсы объектов и сцен с репозитория) в проект

    2.7. После импорта в консоли могут быть ошибки, связанные с изменениями API Unity, их нужно разрешать согласно документации Unity

  3. После успешного импорта и при отсутствии ошибок в консоли можно собирать объекты. Делается это тем же способом, что и ранее. При сборке объектов появилось окно, куда можно вписать какие изменения были проведены в сравнении с предыдущей сборкой, просто какую – то информацию или же оставить поле пустым

../../_images/19.png

Далее нажимаем кнопку «Build» и происходит процедура сборки

  1. После сборки всех необходимых объектов и загрузки их в Varwin, необходимо обновить эти объекты в сценах, где он используется. Процесс обновления аналогичен описанному выше процессу для встроенных объектов