Efficiency
GieziJo opened this issue · 0 comments
GieziJo commented
The attribute [SOVariant] only acts as tagger, which is then looked for in SOVariantAttributeProcessor:OdinPropertyProcessor -> ProcessMemberProperties, where the first line reads:
if(!Property.Attributes.Select(attribute => attribute.GetType()).Contains(typeof(SOVariantAttribute)))
return;The problem with this is that SOVariantAttributeProcessor is thus set to be called for every ScriptableObject:
public class SOVariantAttributeProcessor<T> : OdinPropertyProcessor<T> where T : ScriptableObjectThere is probably a way to directly call SOVariantAttributeProcessor from the attribute, but I haven't found how.