diff --git a/.DS_Store b/.DS_Store
index 75f0622..8e5aa2d 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/Assets/.DS_Store b/Assets/.DS_Store
index c7bd717..c71923a 100644
Binary files a/Assets/.DS_Store and b/Assets/.DS_Store differ
diff --git a/Assets/1OurAudioNarrationFiles/.DS_Store b/Assets/1OurAudioNarrationFiles/.DS_Store
new file mode 100644
index 0000000..f9b9643
Binary files /dev/null and b/Assets/1OurAudioNarrationFiles/.DS_Store differ
diff --git a/Assets/1OurScripts/BoundAirScript.cs b/Assets/1OurScripts/BoundAirScript.cs
index c9111b2..a403e4b 100644
--- a/Assets/1OurScripts/BoundAirScript.cs
+++ b/Assets/1OurScripts/BoundAirScript.cs
@@ -14,15 +14,20 @@ public class BoundAirScript : MonoBehaviour
     public bool canActivateAir = false;
 
     public bool narrationHasPlayed = false;
+
+    private bool secondNarrationHasPlayed = false;
+
     public AudioSource audioSource;
     public AudioClip narrationClip;
     public AudioClip narrationClipTwo;
 
     public GameObject windObjectToCollect;
 
+    private bool objectHasBeenCollected = false;
+
 
     //Boundary control
-    private BoundaryControlScript boundControl;
+    public BoundaryControlScript boundControl;
 
     // Start is called before the first frame update
     void Start()
@@ -36,7 +41,7 @@ public class BoundAirScript : MonoBehaviour
     {
         if (other.CompareTag("BoundHMD") && !isWindActive && !narrationHasPlayed) //
         {
-            boundControl.tempRemoveBoundary("Air");
+            boundControl.TempRemoveBoundary("Air");
 
             narrationHasPlayed = true;
             //Play narration
@@ -87,10 +92,22 @@ public class BoundAirScript : MonoBehaviour
         StartCoroutine(ResetParticleSpeed(5.0f)); // Assuming gesture lasts for * seconds
 
         //Insert second narration here
+
         windObjectToCollect.SetActive(true);
+        audioSource.PlayOneShot(narrationClipTwo);
+
+
+        //StartCoroutine(SecondNarration());
+
 
     }
 
+    /*IEnumerator SecondNarration()
+    {
+        yield return new WaitForSeconds(narrationClipTwo.length);
+
+    }*/
+
     IEnumerator ResetParticleSpeed(float delay)
     {
         yield return new WaitForSeconds(delay);
@@ -127,15 +144,14 @@ public class BoundAirScript : MonoBehaviour
     public void stationCompleted()
     {
         StartCoroutine(RemoveCollectedItem());
-        boundControl.removeBoundary("Fire");
-        boundControl.reactivateBoundary("Fire");
-        //Insert functionality for starting counter narration etc
+        windObjectToCollect.SetActive(false);
+        boundControl.ReactivateBoundary();
+        boundControl.RemoveBoundary("Air");
     }
 
     IEnumerator RemoveCollectedItem()
     {
         yield return new WaitForSeconds(2.0f);
-        windObjectToCollect.SetActive(false);
     }
 
 }
diff --git a/Assets/1OurScripts/BoundEarthScript.cs b/Assets/1OurScripts/BoundEarthScript.cs
index bb990cc..4c9d5ad 100644
--- a/Assets/1OurScripts/BoundEarthScript.cs
+++ b/Assets/1OurScripts/BoundEarthScript.cs
@@ -15,9 +15,11 @@ public class BoundEarthScript : MonoBehaviour
 
     public GameObject earthObjectToCollect;
 
+    private bool objectHasBeenCollected = false;
+
 
     //Boundary control
-    private BoundaryControlScript boundControl;
+    public BoundaryControlScript boundControl;
 
     //Use Yield return to like not make it start instantly????
     public void OnTriggerEnter(Collider other)
@@ -27,7 +29,7 @@ public class BoundEarthScript : MonoBehaviour
         {
 
             //Removing other bounds temporarily
-            boundControl.tempRemoveBoundary("Earth");
+            boundControl.TempRemoveBoundary("Earth");
 
             //Play narration
             StartCoroutine(NarrationAndSignalCoroutine());
@@ -64,16 +66,14 @@ public class BoundEarthScript : MonoBehaviour
     public void stationCompleted()
     {
         StartCoroutine(RemoveCollectedItem());
-        boundControl.removeBoundary("Earth");
-        boundControl.reactivateBoundary("Earth");
-        //Insert functionality for starting counter narration etc
+        earthObjectToCollect.SetActive(false);
+        boundControl.ReactivateBoundary();
+        boundControl.RemoveBoundary("Earth");
     }
 
     IEnumerator RemoveCollectedItem()
     {
         yield return new WaitForSeconds(2.0f);
-        earthObjectToCollect.SetActive(false);
     }
 
-
 }
diff --git a/Assets/1OurScripts/BoundFireScript.cs b/Assets/1OurScripts/BoundFireScript.cs
index d9d2093..dd2e9a8 100644
--- a/Assets/1OurScripts/BoundFireScript.cs
+++ b/Assets/1OurScripts/BoundFireScript.cs
@@ -13,20 +13,22 @@ public class BoundFireScript : MonoBehaviour
 
     public GameObject fireObjectToCollect;
 
+    private bool objectHasBeenCollected = false;
+
 
     //Object to collect found in Fire collision script
 
     //Boundary control
-    private BoundaryControlScript boundControl;
+    public BoundaryControlScript boundControl;
 
 
     //Use Yield return to like not make it start instantly????
     public void OnTriggerEnter(Collider other)
     {
-        if (other.CompareTag("BoundHMD")) //
+        if (other.CompareTag("BoundHMD") && !narrationHasFinished && !narrationHasStarted) //
         {
             //Removing other bounds temporarily
-            boundControl.tempRemoveBoundary("Fire");
+            boundControl.TempRemoveBoundary("Fire");
 
             //Play narration
             StartCoroutine(NarrationAndSignalCoroutine());
@@ -44,26 +46,38 @@ public class BoundFireScript : MonoBehaviour
 
     }
 
+    public void CollectFireObject()
+    {
+        StartCoroutine(SecondNarrationAndObject());
+        audioSource.PlayOneShot(narrationClipTwo);
+        fireObjectToCollect.SetActive(true);
+
+    }
+
+    IEnumerator SecondNarrationAndObject()
+    {
+        audioSource.PlayOneShot(narrationClipTwo);
+        fireObjectToCollect.SetActive(true);
+        yield return new WaitForSeconds(narrationClipTwo.length);
+
+    }
+
 
     //Method to remove the boundary when station has been completed.
     //Start through Unity event wrapper for when item to collect is selected.
-    //Make it a coroutine like so that it will wait 2 sec before removing
-    //the item to collect (now it goes away instantly)
 
     //Method for controlling when the item is grabbed
 
     public void stationCompleted()
     {
         StartCoroutine(RemoveCollectedItem());
-        boundControl.removeBoundary("Fire");
-        boundControl.reactivateBoundary("Fire");
-       //Insert functionality for starting counter narration etc
+        fireObjectToCollect.SetActive(false);
+        boundControl.ReactivateBoundary();
+        boundControl.RemoveBoundary("Fire");
     }
 
     IEnumerator RemoveCollectedItem()
     {
         yield return new WaitForSeconds(2.0f);
-        fireObjectToCollect.SetActive(false);
     }
-
 }
diff --git a/Assets/1OurScripts/BoundWaterScript.cs b/Assets/1OurScripts/BoundWaterScript.cs
index 6ca5f4b..0982a12 100644
--- a/Assets/1OurScripts/BoundWaterScript.cs
+++ b/Assets/1OurScripts/BoundWaterScript.cs
@@ -14,9 +14,11 @@ public class BoundWaterScript : MonoBehaviour
 
     public GameObject waterObjectToCollect;
 
+    private bool objectHasBeenCollected = false;
+
 
     //Boundary control
-    private BoundaryControlScript boundControl;
+    public BoundaryControlScript boundControl;
 
 
     //Use Yield return to like not make it start instantly????
@@ -28,7 +30,7 @@ public class BoundWaterScript : MonoBehaviour
             //TestWater.SetActive(true);
 
             //Removing other bounds temporarily
-            boundControl.tempRemoveBoundary("Water");
+            boundControl.TempRemoveBoundary("Water");
 
             //Play narration
             StartCoroutine(NarrationAndSignalCoroutine());
@@ -54,7 +56,6 @@ public class BoundWaterScript : MonoBehaviour
             waterObjectToCollect.SetActive(true);
             audioSource.PlayOneShot(narrationClipTwo);
             dropHasAppeared = true;
-            stationCompleted();
         }
     }
 
@@ -65,15 +66,13 @@ public class BoundWaterScript : MonoBehaviour
     public void stationCompleted()
     {
         StartCoroutine(RemoveCollectedItem());
-        boundControl.removeBoundary("Water");
-        boundControl.reactivateBoundary("Water");
-        //Insert functionality for starting counter narration etc
+        waterObjectToCollect.SetActive(false);
+        boundControl.ReactivateBoundary();
+        boundControl.RemoveBoundary("Water");
     }
 
     IEnumerator RemoveCollectedItem()
     {
         yield return new WaitForSeconds(2.0f);
-        waterObjectToCollect.SetActive(false);
     }
-
 }
diff --git a/Assets/1OurScripts/BoundaryControlScript.cs b/Assets/1OurScripts/BoundaryControlScript.cs
index 4186f60..36260d4 100644
--- a/Assets/1OurScripts/BoundaryControlScript.cs
+++ b/Assets/1OurScripts/BoundaryControlScript.cs
@@ -14,13 +14,18 @@ public class BoundaryControlScript : MonoBehaviour
     private bool waterFinished = false;
     private bool fireFinished = false;
 
+    private bool airHasBeenCollected = false;
+    private bool earthHasBeenCollected = false;
+    private bool waterHasBeenCollected = false;
+    private bool fireHasBeenCollected = false;
+
     private int collectionCounter = 0;
 
     // Add references for the AudioSource and narration clips
     public AudioSource narrationSource;
     public AudioClip[] narrationClips; // Ensure this array is populated in the Inspector with your narration clips
 
-    public void tempRemoveBoundary(string bound)
+    public void TempRemoveBoundary(string bound)
     {
         if (bound == "Air")
         {
@@ -48,7 +53,7 @@ public class BoundaryControlScript : MonoBehaviour
         }
     }
 
-    public void reactivateBoundary(string bound)
+    public void ReactivateBoundary()
     {
         if (!airFinished)
         {
@@ -71,34 +76,38 @@ public class BoundaryControlScript : MonoBehaviour
         }
     }
 
-    public void removeBoundary(string bound)
+    public void RemoveBoundary(string bound)
     {
-        if (bound == "Air")
+        if (bound == "Air" && !airHasBeenCollected)
         {
             airFinished = true;
             collectionCounter++;
             PlayCollectionNarration();
+            airHasBeenCollected = true;
             airBoundary.SetActive(false);
         }
-        else if (bound == "Earth")
+        else if (bound == "Earth" && !earthHasBeenCollected)
         {
             earthFinished = true;
             collectionCounter++;
             PlayCollectionNarration();
+            earthHasBeenCollected = true;
             earthBoundary.SetActive(false);
         }
-        else if (bound == "Water")
+        else if (bound == "Water" && !waterHasBeenCollected)
         {
             waterFinished = true;
             collectionCounter++;
             PlayCollectionNarration();
+            waterHasBeenCollected = true;
             waterBoundary.SetActive(false);
         }
-        else if (bound == "Fire")
+        else if (bound == "Fire" && !fireHasBeenCollected)
         {
             fireFinished = true;
             collectionCounter++;
             PlayCollectionNarration();
+            fireHasBeenCollected = true;
             fireBoundary.SetActive(false);
         }
     }
@@ -106,6 +115,7 @@ public class BoundaryControlScript : MonoBehaviour
     {
         if (collectionCounter > 0 && collectionCounter <= narrationClips.Length)
         {
+            narrationSource.Stop();
             narrationSource.clip = narrationClips[collectionCounter - 1];
             narrationSource.Play();
         }
diff --git a/Assets/1OurScripts/ConnectUnityWithSensors.cs b/Assets/1OurScripts/ConnectUnityWithSensors.cs
index f2e8434..19c8e12 100644
--- a/Assets/1OurScripts/ConnectUnityWithSensors.cs
+++ b/Assets/1OurScripts/ConnectUnityWithSensors.cs
@@ -11,7 +11,7 @@ public class ConnectUnityWithSensors : MonoBehaviour
     //public AudioSource audioSource; // Assign in inspector
     //public AudioClip narrationClip; // Assign in inspector
     //
-    public string esp32IPAddress = "10.204.0.249"; // Assign your ESP32 IP Address
+    public string esp32IPAddress = "10.204.0.248"; // Assign your ESP32 IP Address
     public string esp32WebsocketPort = "81"; // Assign your ESP32 WebSocket port, typically "81"
 
     private bool forceDataReceived = false;
diff --git a/Assets/1OurScripts/FireCollisionAudioScript.cs b/Assets/1OurScripts/FireCollisionAudioScript.cs
index 8ba5b30..74931eb 100644
--- a/Assets/1OurScripts/FireCollisionAudioScript.cs
+++ b/Assets/1OurScripts/FireCollisionAudioScript.cs
@@ -10,7 +10,7 @@ public class FireCollisionAudioScript : MonoBehaviour
     public GameObject fireBigger;
     public GameObject fireEvenBigger;
 
-    private BoundFireScript boundFireScript;
+    public BoundFireScript boundFireScript;
 
     private bool isFireBigger = false;
 
@@ -21,11 +21,12 @@ public class FireCollisionAudioScript : MonoBehaviour
         {
             audioPlayerGround.Play();
         }
-        else if (collision.gameObject.tag == "CampFireTag" && !isFireBigger) {
-            audioPlayerFire.Play();
+        else if (collision.gameObject.tag == "CampFireTag" && !isFireBigger && boundFireScript.narrationHasFinished) {
+            audioPlayerFire.Play(); //Add more dramatic audio
             fireBigger.SetActive(true);
             isFireBigger = true;
-            boundFireScript.fireObjectToCollect.SetActive(true);
+            boundFireScript.CollectFireObject();
+                
         } /*else if (collision.gameObject.tag == "CampFireTag" && isFireBigger)
         {
             fireEvenBigger.SetActive(true);
diff --git a/Assets/1OurScripts/WaterConnectUnityWithSensors.cs b/Assets/1OurScripts/WaterConnectUnityWithSensors.cs
index 2b8f8b5..4e16e70 100644
--- a/Assets/1OurScripts/WaterConnectUnityWithSensors.cs
+++ b/Assets/1OurScripts/WaterConnectUnityWithSensors.cs
@@ -75,6 +75,10 @@ public class WaterConnectUnityWithSensors : MonoBehaviour
             }
         }
 
+        //Failsafe in case something goes wrong (Get key down to make it so if the sensor
+        //doesnt work or is giving issues we can control it somehow (but how if we use apk lol????)
+       
+
 
 
     }
diff --git a/Assets/OurESP32Scripts/.DS_Store b/Assets/OurESP32Scripts/.DS_Store
index 26699ed..495c9ad 100644
Binary files a/Assets/OurESP32Scripts/.DS_Store and b/Assets/OurESP32Scripts/.DS_Store differ
diff --git a/Assets/OurESP32Scripts/DistanceSensorESPOriginalCode_copy_20240308133237/DistanceSensorESPOriginalCode_copy_20240308133237.ino b/Assets/OurESP32Scripts/DistanceSensorESPOriginalCode_copy_20240308133237/DistanceSensorESPOriginalCode_copy_20240308133237.ino
index 099825a..66f8ab1 100644
--- a/Assets/OurESP32Scripts/DistanceSensorESPOriginalCode_copy_20240308133237/DistanceSensorESPOriginalCode_copy_20240308133237.ino
+++ b/Assets/OurESP32Scripts/DistanceSensorESPOriginalCode_copy_20240308133237/DistanceSensorESPOriginalCode_copy_20240308133237.ino
@@ -1,37 +1,85 @@
-#include <Ultrasonic.h>
+#include <ArduinoWebsockets.h>
+#include <WiFi.h>
 
-// Define the pins for the HC-SR04
-const int trigPin = A5; // Replace with the GPIO pin connected to the Trig pin
-const int echoPin = A1; // Replace with the GPIO pin connected to the Echo pin
+const char* ssid = "dsv-extrality-lab";            // Change to your WiFi network name
+const char* password = "expiring-unstuck-slider";  // Change to your WiFi password
 
-Ultrasonic ultrasonic(trigPin, echoPin);
+using namespace websockets;
+
+WebsocketsServer server;
+WebsocketsClient client;
+
+const int trigPin = A5;  // Change to the GPIO pin connected to the Trig pin of the HC-SR04
+const int echoPin = A1;  // Change to the GPIO pin connected to the Echo pin of the HC-SR04
 
 void setup() {
   Serial.begin(115200);
+
   pinMode(trigPin, OUTPUT);
   pinMode(echoPin, INPUT);
+
+  WiFi.begin(ssid, password);
+  while (WiFi.status() != WL_CONNECTED) {
+    delay(1000);
+    Serial.println("Connecting to WiFi...");
+  }
+
+  Serial.print("Connected to WiFi. IP Address: ");
+  Serial.println(WiFi.localIP());
+
+  server.listen(81);
+  Serial.println("WebSocket server started.");
 }
 
 void loop() {
-  // Trigger the sensor
-  digitalWrite(trigPin, LOW);
-  delayMicroseconds(2);
-  digitalWrite(trigPin, HIGH);
-  delayMicroseconds(20);  // Adjust this value
-  digitalWrite(trigPin, LOW);
+ 
 
-  // Read the echo pulse duration
-  unsigned long duration = pulseIn(echoPin, HIGH);
+  if (server.poll()) {
+    client = server.accept();
+    Serial.println("Client connected...");
 
-  // Calculate distance in centimeters
-  float distance = duration * 0.0343 / 2.0;
+    while (client.available()) {
+      WebsocketsMessage msg = client.readBlocking();
+      Serial.print("Got Message: ");
+      Serial.println(msg.data());
 
-  // Print the distance to the Serial Monitor
-  Serial.print("Duration: ");
-  Serial.print(duration);
-  Serial.print(" microseconds, Distance: ");
-  Serial.print(distance);
-  Serial.println(" cm");
+      if (msg.data().equalsIgnoreCase("Need Distance")) {
+        Serial.println("Measuring distance...");
+        // Trigger the sensor
+        digitalWrite(trigPin, LOW);
+        delayMicroseconds(2);
+        digitalWrite(trigPin, HIGH);
+        delayMicroseconds(20);  // Adjust this value
+        digitalWrite(trigPin, LOW);
 
-  delay(1000); // Adjust the delay based on your needs
-}
+        // Read the echo pulse duration
+        unsigned long duration = pulseIn(echoPin, HIGH);
+
+        // Calculate distance in centimeters
+        int distance = duration * 0.0343 / 2.0;
+
+        // Print the distance to the Serial Monitor
+        Serial.print("Duration: ");
+        Serial.print(duration);
+        Serial.print(" microseconds, Distance: ");
+        Serial.print(distance);
+        Serial.println(" cm");
+
+        delay(1000);
+
+
+        // Define a close distance threshold, for example, 10 cm
+        if (distance > 0 && distance < 10) {
+          // If the object is within the threshold, send a signal to Unity
+          Serial.println("Object is close. Sending signal to Unity...");
+          //client.send("ObjectClose");
+          client.send(String(distance));
+        } else {
+          // Optional: Send a different signal if the object is not within the threshold
+          //client.send("ObjectFar");
+        }
+      }
+    }
+    client.close();
+  }
+}
\ No newline at end of file
diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity
index 3db56af..000b342 100644
--- a/Assets/Scenes/MainScene.unity
+++ b/Assets/Scenes/MainScene.unity
@@ -1447,7 +1447,7 @@ Transform:
   m_GameObject: {fileID: 140392492}
   serializedVersion: 2
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 7.2416973, y: -2.2543073, z: -7.309}
+  m_LocalPosition: {x: 7.2416973, y: -2.2543073, z: -6.753239}
   m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
   m_ConstrainProportionsScale: 1
   m_Children: []
@@ -3022,7 +3022,7 @@ PrefabInstance:
     - target: {fileID: 7809210389736015259, guid: 3a9b7854188d4405280e2aee6b228fc7,
         type: 3}
       propertyPath: m_LocalPosition.x
-      value: 2.084
+      value: 3.75
       objectReference: {fileID: 0}
     - target: {fileID: 7809210389736015259, guid: 3a9b7854188d4405280e2aee6b228fc7,
         type: 3}
@@ -3032,7 +3032,7 @@ PrefabInstance:
     - target: {fileID: 7809210389736015259, guid: 3a9b7854188d4405280e2aee6b228fc7,
         type: 3}
       propertyPath: m_LocalPosition.z
-      value: -7.11
+      value: -6.117239
       objectReference: {fileID: 0}
     - target: {fileID: 7809210389736015259, guid: 3a9b7854188d4405280e2aee6b228fc7,
         type: 3}
@@ -5656,7 +5656,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 433046, guid: 6cd0c7b3308fc7544ad2a49e762470f0, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -7.615761
+      value: -7.06
       objectReference: {fileID: 0}
     - target: {fileID: 433046, guid: 6cd0c7b3308fc7544ad2a49e762470f0, type: 3}
       propertyPath: m_LocalRotation.w
@@ -6254,7 +6254,7 @@ PrefabInstance:
     - target: {fileID: 7809210389736015259, guid: 3a9b7854188d4405280e2aee6b228fc7,
         type: 3}
       propertyPath: m_LocalPosition.z
-      value: -7.023761
+      value: -6.0309997
       objectReference: {fileID: 0}
     - target: {fileID: 7809210389736015259, guid: 3a9b7854188d4405280e2aee6b228fc7,
         type: 3}
@@ -6543,6 +6543,7 @@ MonoBehaviour:
   audioPlayerGround: {fileID: 1439234604}
   fireBigger: {fileID: 1439144478}
   fireEvenBigger: {fileID: 308438764}
+  boundFireScript: {fileID: 634926189}
 --- !u!1001 &500083348
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -7573,7 +7574,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 466112, guid: 11a2bf50f579eff44aa4483864409a5e, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -7.6027613
+      value: -6.61
       objectReference: {fileID: 0}
     - target: {fileID: 466112, guid: 11a2bf50f579eff44aa4483864409a5e, type: 3}
       propertyPath: m_LocalRotation.w
@@ -8436,7 +8437,7 @@ Transform:
   m_GameObject: {fileID: 579970255}
   serializedVersion: 2
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 7, y: 0.3216927, z: -7}
+  m_LocalPosition: {x: 7, y: 0.3216927, z: -6.444239}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
@@ -8513,6 +8514,7 @@ MonoBehaviour:
   narrationClip: {fileID: 8300000, guid: 687001dfd7eb24ccca4eb0e4db510dca, type: 3}
   narrationClipTwo: {fileID: 8300000, guid: 8cb9b31b6571647878893398d64e6f19, type: 3}
   windObjectToCollect: {fileID: 140392492}
+  boundControl: {fileID: 979159588}
 --- !u!82 &579970260
 AudioSource:
   m_ObjectHideFlags: 0
@@ -9323,7 +9325,7 @@ Transform:
   m_GameObject: {fileID: 634926185}
   serializedVersion: 2
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 2.92, y: 0.3216927, z: -7.17}
+  m_LocalPosition: {x: 2.92, y: 0.3216927, z: -6.177239}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
@@ -9395,6 +9397,7 @@ MonoBehaviour:
   narrationClip: {fileID: 8300000, guid: 1eac976b1660e489a87b946acaf94b72, type: 3}
   narrationClipTwo: {fileID: 8300000, guid: deff384217dfb4266aa229b913f8fd03, type: 3}
   fireObjectToCollect: {fileID: 282901708}
+  boundControl: {fileID: 979159588}
 --- !u!1001 &636743900
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -12414,7 +12417,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 0ecd28734b48f4313bff134f6df55396, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  esp32IPAddress: 10.204.0.249
+  esp32IPAddress: 10.204.0.248
   esp32WebsocketPort: 81
   earthScript: {fileID: 1596973211}
 --- !u!114 &979159587
@@ -21797,7 +21800,7 @@ Transform:
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 2.462841, y: -1.1460905, z: -2.1307678}
   m_LocalScale: {x: 10, y: 10, z: 10}
-  m_ConstrainProportionsScale: 0
+  m_ConstrainProportionsScale: 1
   m_Children: []
   m_Father: {fileID: 1617586590}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -21932,7 +21935,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 4123989887538996, guid: 590d927f63be3ce44bca618d073bb102, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -1.3
+      value: -0.92
       objectReference: {fileID: 0}
     - target: {fileID: 4123989887538996, guid: 590d927f63be3ce44bca618d073bb102, type: 3}
       propertyPath: m_LocalRotation.w
@@ -29494,6 +29497,7 @@ MonoBehaviour:
   narrationClip: {fileID: 8300000, guid: 94cf8154f1b9943aba707d774a2821c7, type: 3}
   narrationClipTwo: {fileID: 8300000, guid: d6a09c727429f41e1808479b9f8fd7a4, type: 3}
   earthObjectToCollect: {fileID: 1726452294}
+  boundControl: {fileID: 979159588}
 --- !u!1001 &1601739639
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -30901,7 +30905,7 @@ PrefabInstance:
     - target: {fileID: 1446526844107249175, guid: 8c24f4efc20ae488386410c07ba7ec0c,
         type: 3}
       propertyPath: m_LocalPosition.z
-      value: -7.95
+      value: -6.9572387
       objectReference: {fileID: 0}
     - target: {fileID: 1446526844107249175, guid: 8c24f4efc20ae488386410c07ba7ec0c,
         type: 3}
@@ -31574,6 +31578,7 @@ MonoBehaviour:
   narrationClip: {fileID: 8300000, guid: 08211c0f27d2740228ddd729a21f516f, type: 3}
   narrationClipTwo: {fileID: 8300000, guid: 86108e3698a924d59860ac92e3cc414a, type: 3}
   waterObjectToCollect: {fileID: 297646202}
+  boundControl: {fileID: 979159588}
 --- !u!1 &1726452294
 GameObject:
   m_ObjectHideFlags: 0
@@ -37815,7 +37820,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 461792, guid: b5ea624fac4bcb44f96ad51d3745727e, type: 3}
       propertyPath: m_LocalPosition.x
-      value: 8.47
+      value: 9.46
       objectReference: {fileID: 0}
     - target: {fileID: 461792, guid: b5ea624fac4bcb44f96ad51d3745727e, type: 3}
       propertyPath: m_LocalPosition.y
@@ -37823,7 +37828,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 461792, guid: b5ea624fac4bcb44f96ad51d3745727e, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -7.47
+      value: -6.124239
       objectReference: {fileID: 0}
     - target: {fileID: 461792, guid: b5ea624fac4bcb44f96ad51d3745727e, type: 3}
       propertyPath: m_LocalRotation.w
@@ -38183,7 +38188,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 4123989887538996, guid: 590d927f63be3ce44bca618d073bb102, type: 3}
       propertyPath: m_LocalPosition.z
-      value: -1.3
+      value: -0.34
       objectReference: {fileID: 0}
     - target: {fileID: 4123989887538996, guid: 590d927f63be3ce44bca618d073bb102, type: 3}
       propertyPath: m_LocalRotation.w