public static void RenderVector2Property(VisualElement container, string name, object value, Action <object> setter) { var field = new Vector2Field(name); field.SetValueWithoutNotify((Vector2)value); field.MarkDirtyRepaint(); field.RegisterValueChangedCallback(evt => setter(evt.newValue)); container.Add(field); }