diff --git a/Source/Engine/Serialization/JsonSerializer.cs b/Source/Engine/Serialization/JsonSerializer.cs index 86e4ead8b..c8d00567a 100644 --- a/Source/Engine/Serialization/JsonSerializer.cs +++ b/Source/Engine/Serialization/JsonSerializer.cs @@ -326,9 +326,10 @@ namespace FlaxEngine.Json return customValueEquals.ValueEquals(objB); // If type contains SceneObject references then it needs to use custom comparision that handles prefab links (see SceneObjectEquals) - if (objA.GetType().IsStructure()) + var typeA = objA.GetType(); + if (typeA.IsValueType && !typeA.IsEnum && !typeA.IsPrimitive) { - var contract = Settings.ContractResolver.ResolveContract(objA.GetType()); + var contract = Settings.ContractResolver.ResolveContract(typeA); if (contract is JsonObjectContract objContract) { foreach (var property in objContract.Properties)