Перенос проектов с 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 и пересохраните логику