diff --git a/Assets/Action/PlayerInput.cs b/Assets/Action/PlayerInput.cs
index ad071915f20dec03870cf369e7453a1974fd1ae6..68d50b612b3af03a947a9295acdf099ba5c424e5 100644
--- a/Assets/Action/PlayerInput.cs
+++ b/Assets/Action/PlayerInput.cs
@@ -89,6 +89,15 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
                     ""processors"": """",
                     ""interactions"": """",
                     ""initialStateCheck"": false
+                },
+                {
+                    ""name"": ""Skip"",
+                    ""type"": ""Button"",
+                    ""id"": ""9df2503e-84d8-473e-8c6c-679047c9e9f8"",
+                    ""expectedControlType"": ""Button"",
+                    ""processors"": """",
+                    ""interactions"": """",
+                    ""initialStateCheck"": false
                 }
             ],
             ""bindings"": [
@@ -212,6 +221,17 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
                     ""action"": ""Inspect"",
                     ""isComposite"": false,
                     ""isPartOfComposite"": false
+                },
+                {
+                    ""name"": """",
+                    ""id"": ""3a5ec151-af16-41f2-97a8-7c68d46739c9"",
+                    ""path"": ""<Keyboard>/enter"",
+                    ""interactions"": """",
+                    ""processors"": """",
+                    ""groups"": """",
+                    ""action"": ""Skip"",
+                    ""isComposite"": false,
+                    ""isPartOfComposite"": false
                 }
             ]
         }
@@ -227,6 +247,7 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
         m_OnGround_OpenShop = m_OnGround.FindAction("OpenShop", throwIfNotFound: true);
         m_OnGround_Attack = m_OnGround.FindAction("Attack", throwIfNotFound: true);
         m_OnGround_Inspect = m_OnGround.FindAction("Inspect", throwIfNotFound: true);
+        m_OnGround_Skip = m_OnGround.FindAction("Skip", throwIfNotFound: true);
     }
 
     public void Dispose()
@@ -295,6 +316,7 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
     private readonly InputAction m_OnGround_OpenShop;
     private readonly InputAction m_OnGround_Attack;
     private readonly InputAction m_OnGround_Inspect;
+    private readonly InputAction m_OnGround_Skip;
     public struct OnGroundActions
     {
         private @PlayerInput m_Wrapper;
@@ -306,6 +328,7 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
         public InputAction @OpenShop => m_Wrapper.m_OnGround_OpenShop;
         public InputAction @Attack => m_Wrapper.m_OnGround_Attack;
         public InputAction @Inspect => m_Wrapper.m_OnGround_Inspect;
+        public InputAction @Skip => m_Wrapper.m_OnGround_Skip;
         public InputActionMap Get() { return m_Wrapper.m_OnGround; }
         public void Enable() { Get().Enable(); }
         public void Disable() { Get().Disable(); }
@@ -336,6 +359,9 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
             @Inspect.started += instance.OnInspect;
             @Inspect.performed += instance.OnInspect;
             @Inspect.canceled += instance.OnInspect;
+            @Skip.started += instance.OnSkip;
+            @Skip.performed += instance.OnSkip;
+            @Skip.canceled += instance.OnSkip;
         }
 
         private void UnregisterCallbacks(IOnGroundActions instance)
@@ -361,6 +387,9 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
             @Inspect.started -= instance.OnInspect;
             @Inspect.performed -= instance.OnInspect;
             @Inspect.canceled -= instance.OnInspect;
+            @Skip.started -= instance.OnSkip;
+            @Skip.performed -= instance.OnSkip;
+            @Skip.canceled -= instance.OnSkip;
         }
 
         public void RemoveCallbacks(IOnGroundActions instance)
@@ -387,5 +416,6 @@ public partial class @PlayerInput: IInputActionCollection2, IDisposable
         void OnOpenShop(InputAction.CallbackContext context);
         void OnAttack(InputAction.CallbackContext context);
         void OnInspect(InputAction.CallbackContext context);
+        void OnSkip(InputAction.CallbackContext context);
     }
 }
diff --git a/Assets/Action/PlayerInput.inputactions b/Assets/Action/PlayerInput.inputactions
index 03c8ac10dff780d8cbe9588c4c836deb67d85ed0..98f45b623c85fb73c3a9e208e82f752ed41dbe98 100644
--- a/Assets/Action/PlayerInput.inputactions
+++ b/Assets/Action/PlayerInput.inputactions
@@ -67,6 +67,15 @@
                     "processors": "",
                     "interactions": "",
                     "initialStateCheck": false
+                },
+                {
+                    "name": "Skip",
+                    "type": "Button",
+                    "id": "9df2503e-84d8-473e-8c6c-679047c9e9f8",
+                    "expectedControlType": "Button",
+                    "processors": "",
+                    "interactions": "",
+                    "initialStateCheck": false
                 }
             ],
             "bindings": [
@@ -190,6 +199,17 @@
                     "action": "Inspect",
                     "isComposite": false,
                     "isPartOfComposite": false
+                },
+                {
+                    "name": "",
+                    "id": "3a5ec151-af16-41f2-97a8-7c68d46739c9",
+                    "path": "<Keyboard>/enter",
+                    "interactions": "",
+                    "processors": "",
+                    "groups": "",
+                    "action": "Skip",
+                    "isComposite": false,
+                    "isPartOfComposite": false
                 }
             ]
         }
diff --git a/Assets/Scenes/Cutscene/BeginningCutScene.unity b/Assets/Scenes/Cutscene/BeginningCutScene.unity
index c2202d9434432acf00d9923cec939181cdb0a8ff..f8c37b2e4efae1f972bb7f28e19fa6b921fef507 100644
--- a/Assets/Scenes/Cutscene/BeginningCutScene.unity
+++ b/Assets/Scenes/Cutscene/BeginningCutScene.unity
@@ -297,6 +297,7 @@ GameObject:
   - component: {fileID: 1549664337}
   - component: {fileID: 1549664336}
   - component: {fileID: 1549664338}
+  - component: {fileID: 1549664339}
   m_Layer: 5
   m_Name: Text (TMP)
   m_TagString: Untagged
@@ -466,6 +467,18 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   scrollSpeed: 75
+--- !u!114 &1549664339
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1549664334}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0d8fbe66968e444f9bd08ff6b9e28ad, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1933012106
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Cutscene/DeathCutScene.unity b/Assets/Scenes/Cutscene/DeathCutScene.unity
index e34b2c15c7db910d99f393af1e9e045ebccb3c15..e05cbb880d670b63658a9736fe368bec2ae396be 100644
--- a/Assets/Scenes/Cutscene/DeathCutScene.unity
+++ b/Assets/Scenes/Cutscene/DeathCutScene.unity
@@ -297,6 +297,7 @@ GameObject:
   - component: {fileID: 1549664337}
   - component: {fileID: 1549664336}
   - component: {fileID: 1549664338}
+  - component: {fileID: 1549664339}
   m_Layer: 5
   m_Name: Text (TMP)
   m_TagString: Untagged
@@ -442,6 +443,18 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   scrollSpeed: 75
+--- !u!114 &1549664339
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1549664334}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0d8fbe66968e444f9bd08ff6b9e28ad, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1933012106
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Cutscene/EndingCutScene.unity b/Assets/Scenes/Cutscene/EndingCutScene.unity
index 826710f040d9cf004f4f967a6541be3098c17a52..b0508b29978b6d7fe36c7db0805dabbe75ef031e 100644
--- a/Assets/Scenes/Cutscene/EndingCutScene.unity
+++ b/Assets/Scenes/Cutscene/EndingCutScene.unity
@@ -297,6 +297,7 @@ GameObject:
   - component: {fileID: 1549664337}
   - component: {fileID: 1549664336}
   - component: {fileID: 1549664338}
+  - component: {fileID: 1549664339}
   m_Layer: 5
   m_Name: Text (TMP)
   m_TagString: Untagged
@@ -345,77 +346,76 @@ MonoBehaviour:
       m_Calls: []
   m_text: 'Puisi berjudul ''Kisah Tanah Legenda'' karya Ayu Zagita.
 
-    
+
 
     Manakala
     kisah terdahulu
 
-    
+
 
     Derai-derai merah menutup pertiwi
 
-    
 
-    Pula
-    penuh sesak jeritan pilu
 
-    
+    Pula penuh sesak
+    jeritan pilu
+
+
 
     Ulah momok yang menimbun peti
 
-    
 
-    Bara
-    serdadu kian beradu
 
-    
+    Bara serdadu kian beradu
+
+
+
+    Menepis
+    ruam pada tungkai yang ruai
 
-    Menepis ruam pada tungkai yang ruai
 
-    
 
-    Lepas
-    kepung daratan tanpa tandus
+    Lepas kepung daratan tanpa tandus
 
-    
 
-    Tembang-tembang kemenangan menggema
 
-    
+    Tembang-tembang
+    kemenangan menggema
+
+
 
     "Merdeka!"
 
-    
 
-    "Kita
-    Merdeka!"
 
-    
+    "Kita Merdeka!"
 
-    Tabuh gemuruh sukacita tergambar
 
-    
 
-    Manakala
-    pergumulan landai dan tumbang
+    Tabuh gemuruh
+    sukacita tergambar
+
+
+
+    Manakala pergumulan landai dan tumbang
+
 
-    
 
-    Khatam sudah kisah tanah legenda
+    Khatam
+    sudah kisah tanah legenda
 
-    
 
-    Lantas
-    dilukis penuh tinta merah
 
-    
+    Lantas dilukis penuh tinta merah
 
-    Laksana bulan mengenang malam
 
-    
 
-    Lencana
-    terpatri menembus kalam
+    Laksana
+    bulan mengenang malam
+
+
+
+    Lencana terpatri menembus kalam
 
 '
   m_isRightToLeft: 0
@@ -507,6 +507,18 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   scrollSpeed: 75
+--- !u!114 &1549664339
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1549664334}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0d8fbe66968e444f9bd08ff6b9e28ad, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1933012106
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/PlayerR/PlayerShop.cs b/Assets/Scripts/PlayerR/PlayerShop.cs
index e056c50ef185b97cc2fbee8e5818f1eb88d918b4..c3f794df8c5048665d6806fbafafa0cab0deef3b 100644
--- a/Assets/Scripts/PlayerR/PlayerShop.cs
+++ b/Assets/Scripts/PlayerR/PlayerShop.cs
@@ -31,6 +31,7 @@ public class PlayerShop : MonoBehaviour
         if (inputManager.PlayerInput.OnGround.OpenShop.triggered)
         {
             SceneManager.LoadScene("Scenes/Remade/ShopScene");
+            SceneHelper.CurrentScenePath = "Scenes/Remade/ShopScene";
         }
     }
 
diff --git a/Assets/TextCrawler.cs b/Assets/TextCrawler.cs
index b56fcc4d5abdcb771fe43360c76cc288e94f5518..85f02555c8d2534ca70f506b87b74f9a981ec999 100644
--- a/Assets/TextCrawler.cs
+++ b/Assets/TextCrawler.cs
@@ -34,7 +34,7 @@ public class TextCrawler : MonoBehaviour
     {
         transform.Translate(new Vector3(0, 1, 0) * scrollSpeed * Time.deltaTime);
 
-        if (transform.position.y >= 4832.717)
+        if (transform.position.y >= 4832.717 || InputManager.PlayerInput.OnGround.Skip.triggered)
         {
             SceneHelper.ProceedNextLevel();
         }