Перенос проектов с 0.13.х на 0.16.х и младше

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

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

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

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

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

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

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

  3. Нажимаем на кнопку «Применить», тем самым запуская процесс конвертации логики

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

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

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

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

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

 

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

  1. Находим аналогичный блок
  2. Перетаскиваем его в нужное место и конфигурируем, как старый
  3. Удаляем старый блок


  4. Аналогичные операции проделываем до тех пор, пока в редакторе логики не останется ни одного блока, помеченного удаленным. Для сохранения прогресса подмены блоков, можно воспользоваться функцией принудительного сохранения – она позволяет сохранить состояние логики в неработоспособном состоянии, чтобы продолжить работу с ней в будущем 
  5. Для этого нажимаем кнопку «Применить»
  6. Если в редакторе логики остаются удаленные блоки, рабочая область сфокусируется на таком блоке, а кнопка «Применить» изменится в «Применить принудительно»

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

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

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

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

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

      1. Открываем проект на Unity 2018, в котором находятся необходимые для пересборки объекты
      2. Переходим в окно «Project» и в пустом месте нажимаем правой кнопкой мыши, выбираем пункт «Export package…»
      3. В открывшемся окне помечаем галочками те папки и ресурсы, которые необходимо перенести

        Необходимо снять галочки с папок «Plugins» (если в проекте используются какие – то плагины, помимо тех, что на скриншоте, то необходимо выделить только их), «SteamVR_Input», «Varwin» – это ресурсы Varwin SDK 0.13.х, они нам не понадобятся
      4. Нажимаем кнопку «Export» и экспортируем пакет в удобное место
      5. Открываем проект, созданный на Unity 2021 и устанавливаем Varwin SDK для 0.16.x, следуя инструкции по установке SDK и подсказкам во всплывающих окнах
      6. После установки SDK импортируем пакет с исходниками объектов и ресурсов, который был экспортирован из Unity 2018 (или скачиваем ресурсы объектов и сцен с репозитория) в проект
      7. После импорта в консоли могут быть ошибки, связанные с изменениями API Unity, их нужно разрешать согласно документации Unity
    3. После успешного импорта и при отсутствии ошибок в консоли можно собирать объекты. Делается это тем же способом, что и ранее. При сборке объектов появилось окно, куда можно вписать какие изменения были проведены в сравнении с предыдущей сборкой, просто какую – то информацию или же оставить поле пустым

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

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

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

Экспорт проектов с 0.16.x на 17.x.x версию происходит с  помощью обычного импорта - экспорта проекта из одной версии платформы в другую. Это достаточно простой процесс, но повторить его будет не лишним, итак:

  1. Откройте платформу 0.16.x версии. В списке проектов выберите необходимый и справа, напротив выбранного проекта, в действиях с проектом выберите "Экспорт проекта целиком"

  2. Дождитесь экспорта проекта. Закройте Varwin 0.16.x и откройте Varwin 17.x.x
  3. Откройте папку, с проектом который импортировали ранее

    По умолчанию, проекты экспортируются в директорию

    C:\Users\``USER``\Документы

    где ``USER`` - имя вашего профиля на ПК

  4. Перетащите проект в окно Varwin 17.x.x

  5. Дождитесь окончания импорта проекта

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

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

  1. Для этого переходим в редактор сцены
  2. В окне редактора, в верхней панели инструментов, находим кнопку запуска виджета версионирования объектов и нажимаем на нее
  3. Открывается окно версионирования объектов. Мы можем обновить как единично выбранные объекты, так и все сразу. В нашем случае рекомендуется обновить все объекты сразу, нажав на соответствующую кнопку. Изначально в списке будут только встроенные в платформу объекты. Если в проекте используются и «сторонние» объекты, сделанные с помощью Varwin SDK, рекомендуется их пересобрать в Unity и загрузить в платформу, об этом будет ниже
  4. Обновления объектов вступят в силу только после перезапуска сцены, поэтому необходимо закрыть виджет версионирования, нажав на крестик
  5. Далее нажать на кнопку «Ок» в появившемся окне
  6. Далее необходимо перезапустить редактор сцены, чтобы изменения вступили в силу. Для этого закроем окно редактора
  7. Перейдите в редактор логики Blockly и пересохраните логику

Перенос проектов на 18.xх

Процесс переноса проектов на 18 версию Varwin такой же, как описано выше.

Исключением является перенос проектов, которые были собраны на Varwin 17.11. Для того чтобы узнать как перенести проекты с 17.11 на 18.XX, смотрите статью