diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity
index 7f714489dcb3196513e13f53ac0d27118b1573ae..790941346c224fb658203ad31532e0c5e98cb1df 100644
--- a/Assets/Scenes/MainMenu.unity
+++ b/Assets/Scenes/MainMenu.unity
@@ -8557,6 +8557,74 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1389716654}
   m_CullTransparentMesh: 1
+--- !u!1001 &1407203997
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 307.4222
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 250.74649
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalPosition.z
+      value: -176.33171
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 43553817601766637, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 2742978964631120395, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d,
+        type: 3}
+      propertyPath: m_Name
+      value: GlobalPreference
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 7c7e5b61da9f5ea4ca1609807df6bd8d, type: 3}
 --- !u!1 &1410538339
 GameObject:
   m_ObjectHideFlags: 0
@@ -13036,3 +13104,4 @@ SceneRoots:
   - {fileID: 672790602}
   - {fileID: 1196416683}
   - {fileID: 727113780}
+  - {fileID: 1407203997}
diff --git a/Assets/Script/Menu/LoadMenu.cs b/Assets/Script/Menu/LoadMenu.cs
index a753fdfa47916d6aef1abedcd5189bc30c2da4ca..138acb86022fc69c47495e22cdfa1f5faeec5832 100644
--- a/Assets/Script/Menu/LoadMenu.cs
+++ b/Assets/Script/Menu/LoadMenu.cs
@@ -79,7 +79,7 @@ public class LoadMenu : MonoBehaviour
         {
             StartCoroutine(StartGameWithDelay(2));
         }
-
+        AudioManager.instance.StopMusic();
     }
     public void LoadGame2()
     {
@@ -94,6 +94,7 @@ public class LoadMenu : MonoBehaviour
         {
             StartCoroutine(StartGameWithDelay(2));
         }
+        AudioManager.instance.StopMusic();
     }
     public void LoadGame3()
     {
@@ -108,6 +109,7 @@ public class LoadMenu : MonoBehaviour
         {
             StartCoroutine(StartGameWithDelay(2));
         }
+        AudioManager.instance.StopMusic();
     }
 
     private IEnumerator StartGameWithDelay(int scene)
diff --git a/Assets/Script/Player/GlobalPreference.cs b/Assets/Script/Player/GlobalPreference.cs
index 2ddc75931b2fca781cc199c3a360b232881521c7..0b0ca4ec4dfd57404ce162869e8e89f9c6c567ad 100644
--- a/Assets/Script/Player/GlobalPreference.cs
+++ b/Assets/Script/Player/GlobalPreference.cs
@@ -60,25 +60,6 @@ public class GlobalPreference : MonoBehaviour
         playTimePref = PlayerPrefs.GetFloat("PlayTime");
         goldPref = PlayerPrefs.GetFloat("Gold");
         enemiesKilledPref = PlayerPrefs.GetFloat("EnemiesKilled");
-
-        if (SaveLoadManager.Instance.GetSaveData() != null)
-        {
-            SaveData data = SaveLoadManager.Instance.GetSaveData();
-
-            SetPlayerHealth(data.health);
-            SetPlayerGold(data.golds);
-            SetPlayerHealerPetHealth(data.healerPetHealth);
-            SetPlayerAttackPetHealth(data.attackPetHealth);
-
-            SetDamageDealt((int)data.damage);
-            SetDistanceTraveled(data.distance);
-            SetBulletShot((int)data.bulletShot);
-            SetBulletHit((int)data.bulletHit);
-            SetPlayTime(data.playTime);
-            SetEnemiesKilled(data.enemiesKilled);
-
-            setStageNumber((int)data.stageNumber);
-        }
     }
 
     // Start is called before the first frame update
@@ -92,6 +73,8 @@ public class GlobalPreference : MonoBehaviour
         {
             Instance = this;
         }
+
+        DontDestroyOnLoad(gameObject);
     }
 
     private void Update()
diff --git a/Assets/Script/Shop/Shop.cs b/Assets/Script/Shop/Shop.cs
index c4c6956c7993ee0f15d368cbff2238e25a6c04e0..b9f5ec67514719cc36b8318d9a334fed46ab7ed7 100644
--- a/Assets/Script/Shop/Shop.cs
+++ b/Assets/Script/Shop/Shop.cs
@@ -62,7 +62,10 @@ public class Shop : MonoBehaviour
             {
                 isTimer = false;
                 closeTimer = 0;
-                ToggleShopUI();
+                if (isShopOpen)
+                {
+                    ToggleShopUI();
+                }
             }
         }
     }
diff --git a/Assets/Script/Stage/StageManager.cs b/Assets/Script/Stage/StageManager.cs
index 1eede8aa0da1bb8a25535f62c8ea3c0d72f75440..e6d98c82ea536bc3224d734c719e75cb3f0e594d 100644
--- a/Assets/Script/Stage/StageManager.cs
+++ b/Assets/Script/Stage/StageManager.cs
@@ -32,6 +32,37 @@ public class StageManager : MonoBehaviour
                 }*/
                 GameObject.Find("Gate").GetComponent<Animator>().SetTrigger("OpenGate");
             }
+
+            GlobalPreference.Instance.SetPlayerHealth(data.health);
+            GlobalPreference.Instance.SetPlayerGold(data.golds);
+            GlobalPreference.Instance.SetPlayerHealerPetHealth(data.healerPetHealth);
+            GlobalPreference.Instance.SetPlayerAttackPetHealth(data.attackPetHealth);
+
+            GlobalPreference.Instance.SetDamageDealt((int)data.damage);
+            GlobalPreference.Instance.SetDistanceTraveled(data.distance);
+            GlobalPreference.Instance.SetBulletShot((int)data.bulletShot);
+            GlobalPreference.Instance.SetBulletHit((int)data.bulletHit);
+            GlobalPreference.Instance.SetPlayTime(data.playTime);
+            GlobalPreference.Instance.SetEnemiesKilled(data.enemiesKilled);
+
+            GlobalPreference.Instance.setStageNumber((int)data.stageNumber);
+        }
+
+        if (currentStage == 1)
+        {
+            GlobalPreference.Instance.SetPlayerHealth(100);
+            GlobalPreference.Instance.SetPlayerGold(0);
+            GlobalPreference.Instance.SetPlayerHealerPetHealth(0);
+            GlobalPreference.Instance.SetPlayerAttackPetHealth(0);
+
+            GlobalPreference.Instance.SetDamageDealt(0);
+            GlobalPreference.Instance.SetDistanceTraveled(0);
+            GlobalPreference.Instance.SetBulletShot(0);
+            GlobalPreference.Instance.SetBulletHit(0);
+            GlobalPreference.Instance.SetPlayTime(0);
+            GlobalPreference.Instance.SetEnemiesKilled(0);
+
+            GlobalPreference.Instance.setStageNumber(0);
         }
 
         StartNextStage();