protected static void DeserializeObject(UObject obj, FAssetArchive Ar, long serialSize) { var serialOffset = Ar.Position; var validPos = serialOffset + serialSize; try { obj.Deserialize(Ar, validPos); #if DEBUG if (validPos != Ar.Position) { Log.Warning("Did not read {0} correctly, {1} bytes remaining", obj.ExportType, validPos - Ar.Position); } else { Log.Debug("Successfully read {0} at {1} with size {2}", obj.ExportType, serialOffset, serialSize); } #endif } catch (Exception e) { if (Globals.FatalObjectSerializationErrors) { throw new ParserException($"Could not read {obj.ExportType} correctly", e); } Log.Error(e, "Could not read {0} correctly", obj.ExportType); } }