bool FBuildPatchAppManifest::Serialize(FArchive& Ar) { // Make sure we use the correct serialization version, this is now fixed and must never use a newer version, // because the property tag has changed in structure meaning older clients would not read correctly. Ar.SetUE4Ver(VER_UE4_STRUCT_GUID_IN_PROPERTY_TAG - 1); if (Ar.IsLoading()) { DestroyData(); } Data->Serialize(Ar); if (Ar.IsLoading()) { // If we didn't load the version number, we know it was skipped when saving therefore must be // the first UObject version if (Data->ManifestFileVersion == static_cast<uint8>(EBuildPatchAppManifestVersion::Invalid)) { Data->ManifestFileVersion = EBuildPatchAppManifestVersion::StoredAsCompressedUClass; } // Setup internal lookups InitLookups(); } return !Ar.IsError(); }