diff --git a/Assets/Scenes/Level01.unity b/Assets/Scenes/Level01.unity
index d5d075b0a76bff444d0f3dd5c6f6fa0dce4159bd..b703d679e0b0d0c93192d48d1bd863ef8a0d00e9 100644
--- a/Assets/Scenes/Level01.unity
+++ b/Assets/Scenes/Level01.unity
@@ -15274,6 +15274,7 @@ GameObject:
   - component: {fileID: 1879170048}
   - component: {fileID: 1879170047}
   - component: {fileID: 1879170046}
+  - component: {fileID: 1879170049}
   m_Layer: 9
   m_Name: Dollhouse
   m_TagString: Untagged
@@ -15368,6 +15369,18 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1879170044}
   m_Mesh: {fileID: 4300000, guid: eec0a941ebb666b458f6523bd925c87d, type: 3}
+--- !u!114 &1879170049
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1879170044}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8044640b5a4f4994996823617efc0f4b, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1882290307
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Helpers/SaveRadius.cs b/Assets/Scripts/Helpers/SaveRadius.cs
new file mode 100644
index 0000000000000000000000000000000000000000..85078bf6fbdb0349032628d596a51eef15bb7741
--- /dev/null
+++ b/Assets/Scripts/Helpers/SaveRadius.cs
@@ -0,0 +1,45 @@
+using System.Collections;
+using System.Collections.Generic;
+using Nightmare;
+using UnityEngine;
+
+public class SaveRadius : MonoBehaviour
+{
+    GameObject player;
+    bool playerInRange;
+    float timer;
+
+    private void Awake()
+    {
+        player = GameObject.FindGameObjectWithTag("Player");
+    }
+
+    private void Update()
+    {
+        CheckPlayerInRange();
+        timer += Time.deltaTime;
+        if (timer >= 1 && playerInRange && Input.GetKeyDown(KeyCode.Z))
+        {
+            timer = 0;
+            DataPersistenceManager.instance.SaveGame();
+        }
+
+    }
+
+    private void CheckPlayerInRange()
+    {
+        float distance = Mathf.Sqrt(Mathf.Pow(transform.position.x - player.transform.position.x, 2) +
+            Mathf.Pow(transform.position.y - player.transform.position.y, 2) +
+            Mathf.Pow(transform.position.z - player.transform.position.z, 2));
+
+
+        if (distance <= 5f)
+        {
+            playerInRange = true;
+        }
+        else
+        {
+            playerInRange = false;
+        }
+    }
+}
diff --git a/Assets/Scripts/Helpers/SaveRadius.cs.meta b/Assets/Scripts/Helpers/SaveRadius.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..736aa795d6563f90ab5cde7db10cc1ccd71fd452
--- /dev/null
+++ b/Assets/Scripts/Helpers/SaveRadius.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8044640b5a4f4994996823617efc0f4b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: