# TrackSerializedObjectValue(VisualElement, SerializedObject, Action<SerializedObject>)

> Executes the callback when the property value changes. Unity checks properties for changes at regular intervals during the update loop. If no callback is specified, a SerializedPropertyChangeEvent is sent to the target element.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.UIElements](/engine/6000.7/script-reference/unityeditor/uielements.md)
* **Assembly:** UnityEditor.CoreModule

```csharp
public static void TrackSerializedObjectValue(this VisualElement element, SerializedObject obj, Action<SerializedObject> callback = null)
```

### Parameters

**** (\[VisualElement]\(/engine/6000.7/script-reference/unityengine/uielements/visualelement)): VisualElement tracking an object.**** (\[SerializedObject]\(/engine/6000.7/script-reference/unityeditor/serializedobject)): The SerializedObject to track.**** (\[Action\<SerializedObject>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Invoked when one of the tracked SerializedObject's value changes.
