В Unreal Editor для Fortnite (UEFN) интегрирована система контроля версий, которая является важной частью управления проектами, командных процессов и контроля качества. Это единый достоверный источник информации для разработчиков проекта.
Включение Unreal Revision Control в командных проектах облегчает взаимодействие между участниками команды, предотвращает сбои в работе и ускоряет выпуск острова за счёт сокращения времени разработки. Ежедневная синхронизация проекта требует некоторых усилий, однако результат того стоит.
Как работает Unreal Revision Control
Модуль Unreal Revision Control уже доступен для всех новых островов в UEFN. Эта система делает «снимки состояния» острова и его ресурсов. На этих снимках отражается текущее состояние файлов и ресурсов острова после их отправки.
Нажмите на изображение, чтобы увеличить его.
Выберите Unreal Revision Control на панели Настроек проекта по умолчанию для нового проекта.
Выберите Только я из выпадающего меню Выбор команды, если работаете над проектом в одиночку, или название своей команды, если работаете над командным проектом. Вы можете отключить Unreal Revision Control для своих личных проектов.
Проекты, в которых используется Unreal Revision Control, размещаются на серверах.

Синхронизация последних изменений отмечается значком загрузки.
Вы также можете использовать Unreal Revision Control из Окна сборки. Статус контроля версий ресурса будет отображаться для справки в правой части строки ресурса в окне сборки. Вы также можете нажать правой кнопкой мыши на ресурс в «Окне сборки», а затем выбрать Контроль версий > Извлечь из выпадающего меню.
Используйте Unreal Revision Control в своих проектах
Включение контроля версий при создании новых проектов добавляет следующие функции на нижнюю панель инструментов:
-
Контроль версий
-
Синхронизация изменений / По последней версии
-
Зафиксировать изменения / Изменения отсутствуют.

Все функции Unreal Revision Control доступны под панелью «Сведения» проекта.
Контроль версий
Индикатор контроля версий. Зелёная галочка указывает, что в этом проекте используется контроль версий. Нажмите на стрелку, чтобы открыть меню управления, в котором можно просмотреть изменённые файлы и ресурсы и изменить настройки контроля версий.

Измените настройки контроля, выбрав Изменить настройки системы контроля версий… в выпадающем меню. В результате откроется Вход в систему контроля версий. Здесь можно включать/выключать автоматические настройки и просматривать Журнал контроля версий.
Нажмите на изображение, чтобы увеличить его.
Автоматическое извлечение
Функция Автоматическое извлечение включается автоматически при создании нового проекта. Она работает путём автоматического извлечения ресурса при внесении изменений или перемещении ресурса в окно просмотра.
Эта функция блокирует ресурс, в который вы внесли изменения, и не позволяет другому участнику команды вносить изменения в тот же объект, поскольку он уже извлечён вами. Просматривая ресурсы, перечисленные в Окне сборки, вы можете увидеть, какие из них извлёк ваш коллега.

Использование функции автоматического извлечения позволяет избежать конфликтов и помогает вам и вашим коллегам совместно работать над проектами с минимально возможными конфликтами.
Если эта функция отключена, система Unreal Revision Control предложит вам либо повторно подключиться к Интернету, либо сохранить изменения локально.
Автоматический возврат
Функция Автоматический возврат позволяет избежать конфликтов с участниками команды путём автоматического аннулирования изменений, внесённых вами в ресурс, который уже был извлечён другим пользователем. Вы получите предупреждение о конфликте и отмене изменений.
Эта функция избавит вас от необходимости тратить время на ресурс лишь ради того, чтобы в итоге потерять свою работу. В Окне сборки вы можете быстро проверить, над какими ресурсами работают ваши товарищи по команде в данный момент.
Синхронизация изменений
Эта функция извлекает последний снимок состояния проекта из системы контроля версий и синхронизирует его с данными на диске. Когда отображается кнопка Синхронизация последних изменений, вам нужно выполнить синхронизацию с последней версией проекта. Если необходимости в синхронизации нет, кнопка меняется на По последней версии.

Когда вы нажмёте Синхронизация последних изменений, вы перенесёте последний снимок состояния проекта в локальную среду, где сможете продолжить работу над проектом.
Вы можете вносить и сохранять изменения без синхронизации с последним снимком состояния, однако такие изменения не должны конфликтовать с изменениями в последнем снимке состояния. Вы также не должны вносить изменения в ресурс, ранее извлечённый другим пользователем.
Для получения подробной информации о возможных конфликтах см. Конфликты в Unreal Revision Control.
Фиксация изменений
Зафиксируйте все изменения и создайте новый снимок состояния проекта со всеми зафиксированными изменениями. После внесения в проект изменений, которые необходимо зафиксировать, кнопка меняется с Изменения отсутствуют на Зафиксировать изменения.

Unreal Revision Control отслеживает историю изменений исходных файлов в собственных форматах экосистемы UE, но не в форматах другого ПО (такого как Blender, Photoshop и т. д.).
При нажатии Зафиксировать изменения открывается окно Зафиксировать изменения. Затем будет сделан новый снимок состояния острова, после чего откроется окно с этим снимком. Перечислите изменения, внесённые в ресурсы, в Описании списка изменений, а затем нажмите Отправить, чтобы создать новый снимок состояния острова.
Если в списке фиксируемых изменений есть элемент, который нужно откатить до более ранней версии, это можно сделать из окна отправки.
Выберите ресурс и нажмите на него правой кнопкой мыши. Откроется выпадающее меню с пунктом Вернуть. Выберите Вернуть, и любые изменения, внесённые в проект, будут аннулированы.


-
Описание списка изменений: добавьте описание изменений, которые вы внесли в извлечённый ресурс. Эта функция делает снимок состояния ресурса.
-
Знак «+»: новый ресурс в Unreal Revision Control.
-
Галочка: извлечённый ресурс.
-
Оставить файлы извлечёнными: включение этого параметра означает, что файлы будут оставаться в извлечённом состоянии даже после того, как вы зафиксируете изменения.
-
Отправить: отправка изменений в Unreal Revision Control.
-
Отмена: аннулирует снимок состояния и возвращает вас в проект.
После сохранения и успешной отправки изменений ваши товарищи по команде смогут синхронизироваться с новой версией проекта. У всех участников команды обновится эскиз проекта, на котором появится значок загрузки, информирующий о необходимости синхронизации проекта.
Сохранение проекта и фиксация изменений — это разные операции. С помощью функции сохранения проекта вы можете сохранить проект на диске, а при фиксации изменений создаётся снимок состояния проекта на текущий момент.
Такие снимки состояния содержат историю изменений ресурсов проекта, которую вы сможете просмотреть позже, чтобы понять, как, почему и кем изменялся конкретный ресурс с течением времени.

Извлечение ресурса проекта
Извлекая ресурс, вы блокируете его редактирование другим участником команды. Объект контролирует тот, кто первым извлёк его.

Чтобы извлечь конкретный ресурс:
-
Чтобы открыть меню ресурса, нажмите правой кнопкой мыши на его миниатюру.
-
Выберите Контроль версий > Извлечь.
После того как вы извлечёте ресурс, на его эскизе появится красная галочка. Ваши товарищи по команде увидят другой значок на эскизе, благодаря которому они узнают, что ресурс уже извлечён другим пользователем.

После фиксации объекта любой пользователь, имеющий доступ к проекту, должен будет синхронизироваться с его последней версией для последующего редактирования ресурса.
Нажав правую кнопку мыши, вы откроете меню, в котором доступны следующие функции:
Функция | Описание |
---|---|
Синхронизировать и извлечь | Синхронизирует проект и извлекает ресурс. |
Пометить для добавления | Помечает ресурс для добавления в проект. |
История | Открывает окно, в котором отображается история изменений выбранного ресурса или проекта. Нажмите, чтобы увеличить изображение. |
Вернуть | Откатывает выбранный файл до предыдущей версии. |
Объединить | Объединяет два файла выбранного ресурса в один. |
Обновить | Обновляет статус выбранного ресурса. |