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