# SetObjectReferenceCurve(AnimationClip, EditorCurveBinding, ObjectReferenceKeyframe[])

> Adds, modifies, or removes an object reference curve in an animation clip.

## Definition

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

```csharp
public static void SetObjectReferenceCurve(AnimationClip clip, EditorCurveBinding binding, ObjectReferenceKeyframe[] keyframes)
```

### Parameters

**** (\[AnimationClip]\(/engine/6000.7/script-reference/unityengine/animationclip)): The animation clip to modify.**** (\[EditorCurveBinding]\(/engine/6000.7/script-reference/unityeditor/editorcurvebinding)): The bindings that define the paths and the properties of each curve.**** (\[ObjectReferenceKeyframe\[]]\(/engine/6000.7/script-reference/unityeditor/objectreferencekeyframe)): Array of Object reference values over time. Setting this to null will remove the curve.

### Remarks

Unity has two types of animation: float curve and object reference curve. A float curve is a classic curve that animates a float property over time. An object reference curve is a construct that animates an object reference property over time.

This method modifies object reference curves. For float curves, see [AnimationUtility.SetEditorCurve](/engine/6000.7/script-reference/unityeditor/animationutility/seteditorcurve.md).
