Currently when you have a [MDReplicated] or MDList with a custom property the converter is resolved on the the fly whenever this node is created, the problem here is that the custom class converter uses reflection to resolve the internal members of the class which would be slow. In addition MDReplicatedMember and MDList duplicates the data converter code to figure out which converter to use.
Here is what I suggest we do,
Move the code from MDReplicatedMember and MDList into MDStatics.
Add a converter buffer that is a dictionary containing Dictionary<TypeOfConverter(including generic typing), InstancedConverterClass>
We shouldn't need to clear this buffer as it is not likely that there are that many converters in a project.
Currently when you have a [MDReplicated] or MDList with a custom property the converter is resolved on the the fly whenever this node is created, the problem here is that the custom class converter uses reflection to resolve the internal members of the class which would be slow. In addition MDReplicatedMember and MDList duplicates the data converter code to figure out which converter to use.
Here is what I suggest we do,
Dictionary<TypeOfConverter(including generic typing), InstancedConverterClass>