diff --git a/RobloxFileFormat.dll b/RobloxFileFormat.dll index 9f72207..da4e79a 100644 Binary files a/RobloxFileFormat.dll and b/RobloxFileFormat.dll differ diff --git a/Tree/Instance.cs b/Tree/Instance.cs index ff40445..7422d65 100644 --- a/Tree/Instance.cs +++ b/Tree/Instance.cs @@ -767,19 +767,25 @@ namespace RobloxFiles } } - Property tags = GetProperty("Tags"); - Property attributes = GetProperty("AttributesSerialize"); - - if (tags == null) + var extraProps = new Dictionary() { - tags = new Property("Tags", PropertyType.String); - AddProperty(ref tags); - } + { "Tags", PropertyType.String }, + { "AttributesSerialize", PropertyType.String }, - if (attributes == null) + { "UniqueId", PropertyType.UniqueId }, + { "HistoryId", PropertyType.UniqueId }, + }; + + foreach (var extraProp in extraProps) { - attributes = new Property("AttributesSerialize", PropertyType.String); - AddProperty(ref attributes); + string name = extraProp.Key; + var propType = extraProp.Value; + + if (GetProperty(name) == null) + { + var prop = new Property(name, propType); + AddProperty(ref prop); + } } return Properties;