internal static void CreateCurvesIfRequired(TimelineClip clip, TrackAsset parentTrack = null) { if (clip.curves == null) { if (parentTrack == null) { parentTrack = clip.parentTrack; } clip.AllocateAnimatedParameterCurves(); clip.curves.set_name(AnimationTrackRecorder.GetUniqueRecordedClipName(clip.parentTrack, AnimatedParameterExtensions.kDefaultClipName)); string assetPath = AssetDatabase.GetAssetPath(clip.parentTrack); if (!string.IsNullOrEmpty(assetPath)) { TimelineHelpers.SaveAnimClipIntoObject(clip.curves, clip.parentTrack); EditorUtility.SetDirty(clip.parentTrack); AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(clip.parentTrack)); AssetDatabase.Refresh(); } } }