diff --git a/Assets/Scenes/Test.unity b/Assets/Scenes/Test.unity
index 725a56f965000c085419f4109c27eb2c5c2b2c46..ea47b8e7307fb4a97d14c67d64e22eb143d79b65 100644
--- a/Assets/Scenes/Test.unity
+++ b/Assets/Scenes/Test.unity
@@ -649,6 +649,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   square: {fileID: 934514725}
+  pathrenderer: {fileID: 948598108}
   playercamera: {fileID: 1661408489}
   velocityslider: {fileID: 260633610}
   accelslider: {fileID: 1086622590}
@@ -1250,7 +1251,18 @@ MonoBehaviour:
   m_TargetGraphic: {fileID: 691025000}
   m_OnClick:
     m_PersistentCalls:
-      m_Calls: []
+      m_Calls:
+      - m_Target: {fileID: 394305455}
+        m_MethodName: PathCancel
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       Culture=neutral, PublicKeyToken=null
 --- !u!114 &691025000
diff --git a/Assets/Scripts/PathRenderer.cs b/Assets/Scripts/PathRenderer.cs
index 654182ed2b6762fec5551c2b538521b21d7edfd2..b438b15c50e55dcd3f95afa88ae5309cbeac297f 100644
--- a/Assets/Scripts/PathRenderer.cs
+++ b/Assets/Scripts/PathRenderer.cs
@@ -231,5 +231,14 @@ public class PathRenderer : MonoBehaviour
 
             i++;
         }
+    public void DeletePathsAfterNthPath(int n)
+    {
+        square.pathList.RemoveRange(n, _pathRenderer.positionCount - n);
+        square.pathVelocity.RemoveRange(n, _pathRenderer.positionCount - n);
+        for (int i = 0; i < transform.childCount; i++)
+        {
+            if (i + 1 >= n) Destroy(transform.GetChild(i).gameObject);
+        }
+        _pathRenderer.positionCount = square.pathList.Count();
     }
 }
diff --git a/Assets/Scripts/UIManager.cs b/Assets/Scripts/UIManager.cs
index a901130d4228d78641cb08ae151d0acf49c9b662..244954f118127ad5ba18132be06729bf10c3a022 100644
--- a/Assets/Scripts/UIManager.cs
+++ b/Assets/Scripts/UIManager.cs
@@ -11,6 +11,8 @@ public class UIManager : MonoBehaviour
     [SerializeField]
     Square square;
     [SerializeField]
+    PathRenderer pathrenderer;
+    [SerializeField]
     Camera playercamera;
     [SerializeField]
     LogScaleSlider velocityslider;
@@ -225,6 +227,32 @@ public class UIManager : MonoBehaviour
     }
 
     
+        bool result;
+        var positions = pathRenderer.PathPositionsXZ;
+        var velocitys = pathRenderer.PathVelocitys;
+
+        if (positions.Count <= 1 || velocitys.Count <= 1)
+        {
+            return;
+        }
+        // remove dummy
+        positions.RemoveAt(0);
+        velocitys.RemoveAt(0);
+
+        result = levelManager.player.MoveToRetivePosition(positions, velocitys);
+
+        if (result)
+        {
+            pathRenderer.PathClear();
+        }
+    }
+
+    public void PathCancel()
+    {
+        pathrenderer.DeletePathsAfterNthPath(prevSelectPathNum + 1);
+        _pathUI.SetActive(false);
+        prevSelectPathNum = -1;
+    }
 
     public void OnDoubleClicked()
     {