public static void ExtractSpline() { GameObject selected = Selection.activeObject as GameObject; MeshDeformer deformer = selected.GetComponentInParent <MeshDeformer>(); GameObject splineObj = new GameObject(); splineObj.name = "Spline"; splineObj.transform.position = deformer.transform.position; splineObj.transform.rotation = deformer.transform.rotation; splineObj.transform.localScale = deformer.transform.localScale; Spline spline = splineObj.AddComponent <Spline>(); Undo.RegisterCreatedObjectUndo(spline, "Battlehub.MeshDeformer.Extract Spline"); spline.Load(deformer.Save()); EditorUtility.SetDirty(splineObj); Selection.activeGameObject = splineObj; }