Готовые элементы и объекты модулей в мире, с которых создаются копии или экземпляры, используют общие функции Verse через компонент Verse.
По мере добавления дополнительных функций к объектам, которые используют компоненты Verse или зависят от них, вы можете изменять базовые функции объектов модулей. Восстановление данных позволяет отменить новые изменения, возвращаясь к старому набору данных.
Система восстановления данных переносит данные для:
Поля
Классы
Структуры
Проблемы сериализации
Без восстановления данных любые изменения, внесенные в существующий компонент Verse, приведут к ошибкам сериализации в одной из следующих ситуаций:
переименование свойств;
удаление свойств;
изменение типов свойств.
В примере, представленном в этом документе, используется редактируемая структура для выражения значений типа float, string и int. Изменение названия редактируемого свойства структуры создаёт свободное свойство, которое также использует существующие данные типа float, string и int.
Оригинальный | Отредактировано |
Нажмите на изображение, чтобы увеличить до полного размера. | Нажмите на изображение, чтобы увеличить до полного размера. |
Восстановление данных используется для поиска свободных свойств и размещения значка «Внимание!» на проблемном объекте.
Каждая версия редактируемого объекта сохраняет свои значения данных типа float, string и int. Это позволяет выбрать, какие данные следует сохранить.
Выявленные проблемы
Модули и компоненты, в которых возникают проблемы с сериализацией, помечаются на панели Структура значком «Внимание!». При наведении курсора на этот значок открывается сообщение о сериализации, в котором содержится тип ошибки сериализации, возникшей в конкретном объекте.
Сообщение с предупреждением на этом изображении не отражает проблему, обнаруженную в этой системе.
При выборе объекта модуля на панели «Структура» открываются компоненты модуля на панели Сведения.
Предупреждения для модулей и компонентов также отображаются на панели «Сведения». Компоненты с ошибками сериализации помечены жёлтым значком «Внимание» в верхней части карточки компонента.
Вам нужно будет открыть заготовки, которые используют эти компоненты, на панели «Сведения», чтобы увидеть, какие из связанных с ними компонентов помечены системным предупреждением.
Восстановление данных
Если была допущена ошибка или внесение изменений не требуется, можно восстановить данные, откатив внесённые изменения. Вы можете безопасно добавить удалённое ранее свойство, чтобы восстановить утерянные данные, связанные с существовавшим до этого свойством.
Однако если вы удалите класс или измените его название, то для восстановления данных нужно будет откатить код. Откат к классу перезагрузит код и устранит все обнаруженные проблемы.
Если переименовать или удалить класс, это приведёт к нежелательным последствиям.
Восстановите все данные, которые не планируете перезаписывать, выполнив следующие действия:
Не сохраняйте изменения, если вы переименовали или удалили класс, или если у вас возникли ошибки компиляции.
Сохранение кода на этом этапе приведёт к безвозвратной потере данных.
Добавьте утерянные свойства обратно в исходный класс.
Вы можете пропустить этот шаг и перейти к третьему шагу, если решите сохранить внесённые изменения.
Перезагрузите UEFN или перекомпилируйте код.
Внимательно изучите свои данные. Как только вы убедитесь, что утерянные значения свойств вернулись, можно будет безопасно сохранить их.
Если вы решите пропустить шаг 2, предупреждения пока будет сохранены. Если сохранённые сообщения об ошибках будут сильно надоедать, вы можете отключить систему восстановления данных.
Возврат к исходным названиям свойств и данным больше не приводит к сообщениям об ошибках, и вы можете продолжить работу над своим уровнем.