diff --git a/Assets/Animation/GameOverClip.anim b/Assets/Animation/GameOverClip.anim
index 2cfd717aaea33947257cc08a41e243ef5c470cf7..ad0d11cb15beb777430f6850b21a7b01c89350c3 100644
--- a/Assets/Animation/GameOverClip.anim
+++ b/Assets/Animation/GameOverClip.anim
@@ -229,6 +229,40 @@ AnimationClip:
       m_PostInfinity: 2
       m_RotationOrder: 4
     path: MenuButton
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: {x: 0, y: 0, z: 0}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      - serializedVersion: 3
+        time: 0.33333334
+        value: {x: 1, y: 1, z: 1}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      - serializedVersion: 3
+        time: 15
+        value: {x: 1, y: 1, z: 1}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    path: InGameStatisticsText
   m_FloatCurves:
   - serializedVersion: 2
     curve:
@@ -470,66 +504,6 @@ AnimationClip:
     classID: 114
     script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
     flags: 16
-  - serializedVersion: 2
-    curve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 70
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      - serializedVersion: 3
-        time: 0.2
-        value: 70
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      - serializedVersion: 3
-        time: 0.95
-        value: 15
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    attribute: m_AnchoredPosition.y
-    path: CountdownText
-    classID: 224
-    script: {fileID: 0}
-    flags: 0
-  - serializedVersion: 2
-    curve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 0
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    attribute: m_AnchoredPosition.x
-    path: CountdownText
-    classID: 224
-    script: {fileID: 0}
-    flags: 0
   - serializedVersion: 2
     curve:
       serializedVersion: 2
@@ -980,179 +954,407 @@ AnimationClip:
     classID: 1
     script: {fileID: 0}
     flags: 16
-  m_PPtrCurves: []
-  m_SampleRate: 60
-  m_WrapMode: 0
-  m_Bounds:
-    m_Center: {x: 0, y: 0, z: 0}
-    m_Extent: {x: 0, y: 0, z: 0}
-  m_ClipBindingConstant:
-    genericBindings:
-    - serializedVersion: 2
-      path: 2185909552
-      attribute: 3
-      script: {fileID: 0}
-      typeID: 4
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 596210011
-      attribute: 3
-      script: {fileID: 0}
-      typeID: 4
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 459710920
-      attribute: 3
-      script: {fileID: 0}
-      typeID: 4
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 3472888982
-      attribute: 3
-      script: {fileID: 0}
-      typeID: 4
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 152084987
-      attribute: 3
-      script: {fileID: 0}
-      typeID: 4
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 1768121632
-      attribute: 3
-      script: {fileID: 0}
-      typeID: 4
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2185909552
-      attribute: 304273561
-      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2689805535
-      attribute: 2526845255
-      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2689805535
-      attribute: 4215373228
-      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2689805535
-      attribute: 2334886179
-      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2689805535
-      attribute: 304273561
-      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 459710920
-      attribute: 538195251
-      script: {fileID: 0}
-      typeID: 224
-      customType: 28
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2376362178
-      attribute: 3305885265
-      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
-      typeID: 114
-      customType: 24
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 459710920
-      attribute: 3305885265
-      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
-      typeID: 114
-      customType: 24
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 459710920
-      attribute: 304273561
-      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 3472888982
-      attribute: 304273561
-      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 152084987
-      attribute: 304273561
-      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 2546394416
-      attribute: 4185109675
-      script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
-      typeID: 114
-      customType: 0
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 1768121632
-      attribute: 304273561
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: ScoreText
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: TextInput/Text (Legacy)
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: TextInput/Placeholder
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1.25
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: TextInput
+    classID: 114
+    script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 1.25
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: TextInput
+    classID: 114
+    script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: StatisticsText
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: InGameStatisticsText
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 2185909552
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 596210011
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 459710920
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 3472888982
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 152084987
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 1768121632
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 1461585792
+      attribute: 3
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2185909552
+      attribute: 304273561
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2689805535
+      attribute: 2526845255
+      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2689805535
+      attribute: 4215373228
+      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2689805535
+      attribute: 2334886179
+      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2689805535
+      attribute: 304273561
+      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2376362178
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 459710920
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 459710920
+      attribute: 304273561
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 3472888982
+      attribute: 304273561
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 152084987
+      attribute: 304273561
+      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2546394416
+      attribute: 4185109675
+      script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+      typeID: 114
+      customType: 0
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 1768121632
+      attribute: 304273561
       script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
       typeID: 114
       customType: 0
@@ -1231,6 +1433,69 @@ AnimationClip:
       isPPtrCurve: 0
       isIntCurve: 0
       isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 596210011
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 2816301458
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 510603249
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 3242430814
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 3242430814
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 1436022397
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
+    - serializedVersion: 2
+      path: 1461585792
+      attribute: 3305885265
+      script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+      typeID: 114
+      customType: 24
+      isPPtrCurve: 0
+      isIntCurve: 0
+      isSerializeReferenceCurve: 0
     - serializedVersion: 2
       path: 2185909552
       attribute: 2526845255
@@ -1258,15 +1523,6 @@ AnimationClip:
       isPPtrCurve: 0
       isIntCurve: 0
       isSerializeReferenceCurve: 0
-    - serializedVersion: 2
-      path: 459710920
-      attribute: 1460864421
-      script: {fileID: 0}
-      typeID: 224
-      customType: 28
-      isPPtrCurve: 0
-      isIntCurve: 0
-      isSerializeReferenceCurve: 0
     pptrCurveMapping: []
   m_AnimationClipSettings:
     serializedVersion: 2
@@ -1676,126 +1932,66 @@ AnimationClip:
     classID: 224
     script: {fileID: 0}
     flags: 16
-  - serializedVersion: 2
-    curve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 1
-        inSlope: -0.39973345
-        outSlope: -0.39973345
-        tangentMode: 34
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      - serializedVersion: 3
-        time: 0.50016665
-        value: 0.80006665
-        inSlope: -0.39973345
-        outSlope: -0.39973345
-        tangentMode: 34
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    attribute: m_LocalScale.y
-    path: ScoreText
-    classID: 224
-    script: {fileID: 0}
-    flags: 16
-  - serializedVersion: 2
-    curve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 1
-        inSlope: -0.39973345
-        outSlope: -0.39973345
-        tangentMode: 34
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      - serializedVersion: 3
-        time: 0.50016665
-        value: 0.80006665
-        inSlope: -0.39973345
-        outSlope: -0.39973345
-        tangentMode: 34
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    attribute: m_LocalScale.z
-    path: ScoreText
-    classID: 224
-    script: {fileID: 0}
-    flags: 16
-  - serializedVersion: 2
-    curve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 70
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
       - serializedVersion: 3
-        time: 0.2
-        value: 70
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
+        time: 0
+        value: 1
+        inSlope: -0.39973345
+        outSlope: -0.39973345
+        tangentMode: 34
         weightedMode: 0
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.95
-        value: 15
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
+        time: 0.50016665
+        value: 0.80006665
+        inSlope: -0.39973345
+        outSlope: -0.39973345
+        tangentMode: 34
         weightedMode: 0
         inWeight: 0.33333334
         outWeight: 0.33333334
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_AnchoredPosition.y
-    path: CountdownText
+    attribute: m_LocalScale.y
+    path: ScoreText
     classID: 224
     script: {fileID: 0}
-    flags: 0
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
       m_Curve:
       - serializedVersion: 3
         time: 0
-        value: 0
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
+        value: 1
+        inSlope: -0.39973345
+        outSlope: -0.39973345
+        tangentMode: 34
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.50016665
+        value: 0.80006665
+        inSlope: -0.39973345
+        outSlope: -0.39973345
+        tangentMode: 34
         weightedMode: 0
         inWeight: 0.33333334
         outWeight: 0.33333334
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_AnchoredPosition.x
-    path: CountdownText
+    attribute: m_LocalScale.z
+    path: ScoreText
     classID: 224
     script: {fileID: 0}
-    flags: 0
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
@@ -2514,20 +2710,230 @@ AnimationClip:
       - serializedVersion: 3
         time: 15
         value: 1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.y
+    path: MenuButton
+    classID: 224
+    script: {fileID: 0}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.5
+        value: 1.1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.75
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.z
+    path: MenuButton
+    classID: 224
+    script: {fileID: 0}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: MenuButton
+    classID: 1
+    script: {fileID: 0}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_IsActive
+    path: PlayButton
+    classID: 1
+    script: {fileID: 0}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: QuestText
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: 
+    classID: 114
+    script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_Enabled
+    path: PauseButton
+    classID: 114
+    script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+    flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
         weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
+        inWeight: 0
+        outWeight: 0
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_LocalScale.y
-    path: MenuButton
-    classID: 224
-    script: {fileID: 0}
-    flags: 0
+    attribute: m_Enabled
+    path: PauseButton
+    classID: 114
+    script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
@@ -2535,53 +2941,44 @@ AnimationClip:
       - serializedVersion: 3
         time: 0
         value: 0
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      - serializedVersion: 3
-        time: 0.5
-        value: 1.1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      - serializedVersion: 3
-        time: 0.75
-        value: 1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
         weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
+        inWeight: 0
+        outWeight: 0
       - serializedVersion: 3
         time: 15
         value: 1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 136
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
         weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
+        inWeight: 0
+        outWeight: 0
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_LocalScale.z
-    path: MenuButton
-    classID: 224
+    attribute: m_IsActive
+    path: PauseButton
+    classID: 1
     script: {fileID: 0}
-    flags: 0
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
       m_Curve:
       - serializedVersion: 3
         time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
         value: 1
         inSlope: Infinity
         outSlope: Infinity
@@ -2592,17 +2989,26 @@ AnimationClip:
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_IsActive
-    path: MenuButton
-    classID: 1
-    script: {fileID: 0}
-    flags: 0
+    attribute: m_Enabled
+    path: ScoreText
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
       m_Curve:
       - serializedVersion: 3
         time: 0
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
+      - serializedVersion: 3
+        time: 15
         value: 1
         inSlope: Infinity
         outSlope: Infinity
@@ -2613,11 +3019,11 @@ AnimationClip:
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_IsActive
-    path: PlayButton
-    classID: 1
-    script: {fileID: 0}
-    flags: 0
+    attribute: m_Enabled
+    path: TextInput/Text (Legacy)
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
@@ -2644,7 +3050,7 @@ AnimationClip:
       m_PostInfinity: 2
       m_RotationOrder: 4
     attribute: m_Enabled
-    path: QuestText
+    path: TextInput/Placeholder
     classID: 114
     script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
     flags: 16
@@ -2661,6 +3067,15 @@ AnimationClip:
         weightedMode: 0
         inWeight: 0
         outWeight: 0
+      - serializedVersion: 3
+        time: 1.25
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
       - serializedVersion: 3
         time: 15
         value: 1
@@ -2674,10 +3089,10 @@ AnimationClip:
       m_PostInfinity: 2
       m_RotationOrder: 4
     attribute: m_Enabled
-    path: 
+    path: TextInput
     classID: 114
-    script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
-    flags: 0
+    script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
+    flags: 16
   - serializedVersion: 2
     curve:
       serializedVersion: 2
@@ -2691,6 +3106,15 @@ AnimationClip:
         weightedMode: 0
         inWeight: 0
         outWeight: 0
+      - serializedVersion: 3
+        time: 1.25
+        value: 0
+        inSlope: Infinity
+        outSlope: Infinity
+        tangentMode: 103
+        weightedMode: 0
+        inWeight: 0
+        outWeight: 0
       - serializedVersion: 3
         time: 15
         value: 1
@@ -2704,9 +3128,9 @@ AnimationClip:
       m_PostInfinity: 2
       m_RotationOrder: 4
     attribute: m_Enabled
-    path: PauseButton
+    path: TextInput
     classID: 114
-    script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+    script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
     flags: 16
   - serializedVersion: 2
     curve:
@@ -2734,9 +3158,9 @@ AnimationClip:
       m_PostInfinity: 2
       m_RotationOrder: 4
     attribute: m_Enabled
-    path: PauseButton
+    path: StatisticsText
     classID: 114
-    script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
     flags: 16
   - serializedVersion: 2
     curve:
@@ -2744,7 +3168,7 @@ AnimationClip:
       m_Curve:
       - serializedVersion: 3
         time: 0
-        value: 0
+        value: 1
         inSlope: Infinity
         outSlope: Infinity
         tangentMode: 103
@@ -2753,7 +3177,7 @@ AnimationClip:
         outWeight: 0
       - serializedVersion: 3
         time: 15
-        value: 1
+        value: 0
         inSlope: Infinity
         outSlope: Infinity
         tangentMode: 103
@@ -2763,11 +3187,128 @@ AnimationClip:
       m_PreInfinity: 2
       m_PostInfinity: 2
       m_RotationOrder: 4
-    attribute: m_IsActive
-    path: PauseButton
-    classID: 1
-    script: {fileID: 0}
+    attribute: m_Enabled
+    path: InGameStatisticsText
+    classID: 114
+    script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
     flags: 16
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.33333334
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.x
+    path: InGameStatisticsText
+    classID: 224
+    script: {fileID: 0}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.33333334
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.y
+    path: InGameStatisticsText
+    classID: 224
+    script: {fileID: 0}
+    flags: 0
+  - serializedVersion: 2
+    curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 0
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 0.33333334
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 15
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalScale.z
+    path: InGameStatisticsText
+    classID: 224
+    script: {fileID: 0}
+    flags: 0
   m_EulerEditorCurves: []
   m_HasGenericRootTransform: 0
   m_HasMotionFloatCurves: 0
diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity
index 21efa6cffba90725a0bfb59400803383953108f6..973615d5faef3635987c36a9d76915b4d2c63a90 100644
--- a/Assets/Scenes/Main.unity
+++ b/Assets/Scenes/Main.unity
@@ -38,7 +38,7 @@ RenderSettings:
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 8900000, guid: a7bed68887a07e34394d4191b3081359, type: 3}
   m_Sun: {fileID: 0}
-  m_IndirectSpecularColor: {r: 0.1000388, g: 0.11809564, b: 0.11640024, a: 1}
+  m_IndirectSpecularColor: {r: 0.100039154, g: 0.11809585, b: 0.11640041, a: 1}
   m_UseRadianceAmbientProbe: 0
 --- !u!157 &4
 LightmapSettings:
@@ -123,6 +123,100 @@ NavMeshSettings:
     debug:
       m_Flags: 0
   m_NavMeshData: {fileID: 0}
+--- !u!1 &4043335
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4043336}
+  - component: {fileID: 4043339}
+  - component: {fileID: 4043338}
+  - component: {fileID: 4043337}
+  m_Layer: 5
+  m_Name: InGameStatisticsText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4043336
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4043335}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1436637204}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 250, y: 200}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &4043337
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4043335}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 712c00f247ff6a146bb72ac664470118, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  statistics: {fileID: 0}
+--- !u!114 &4043338
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4043335}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 46238fb1ad7a7a84ba8954c1c860994c, type: 3}
+    m_FontSize: 23
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "Score: \nShots Fired: \nShots Hit: \nShot Accuracy: \nDistance Traveled:\nPlay
+    Time:\nEnemies Killed:"
+--- !u!222 &4043339
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4043335}
+  m_CullTransparentMesh: 1
 --- !u!1 &28357257
 GameObject:
   m_ObjectHideFlags: 0
@@ -2133,6 +2227,99 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 75, y: 60}
   m_Pivot: {x: 0, y: 0}
+--- !u!1 &598748822
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 598748823}
+  - component: {fileID: 598748826}
+  - component: {fileID: 598748825}
+  - component: {fileID: 598748824}
+  m_Layer: 5
+  m_Name: StatisticsText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &598748823
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598748822}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1436637204}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 300, y: -210}
+  m_SizeDelta: {x: 200, y: 200}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &598748824
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598748822}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cc69dcba98fc3554b93340e3297c3255, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &598748825
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598748822}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 14
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "Shots Fired: \nShots Hit: \nShot Accuracy: \nDistance Traveled:\nPlay
+    Time:\nHigh Score:\nAll Time Score: \nEnemies Killed:"
+--- !u!222 &598748826
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 598748822}
+  m_CullTransparentMesh: 1
 --- !u!1 &664994689
 GameObject:
   m_ObjectHideFlags: 0
@@ -3219,7 +3406,7 @@ MonoBehaviour:
   m_fontMaterials: []
   m_fontColor32:
     serializedVersion: 2
-    rgba: 16777215
+    rgba: 4294967295
   m_fontColor: {r: 1, g: 1, b: 1, a: 0}
   m_enableVertexGradient: 0
   m_colorMode: 3
@@ -3391,7 +3578,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: -133, y: -122}
+  m_AnchoredPosition: {x: -133, y: -172}
   m_SizeDelta: {x: 218, y: 60}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1172229237
@@ -4156,6 +4343,8 @@ RectTransform:
   - {fileID: 1425175304}
   - {fileID: 837300818}
   - {fileID: 1394265173}
+  - {fileID: 598748823}
+  - {fileID: 4043336}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
@@ -4197,7 +4386,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 70}
+  m_AnchoredPosition: {x: 0, y: 210}
   m_SizeDelta: {x: 130, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1450818668
@@ -4667,7 +4856,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: -58}
+  m_AnchoredPosition: {x: 0, y: -108}
   m_SizeDelta: {x: 130, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1581133372
@@ -4803,7 +4992,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 150}
   m_SizeDelta: {x: 130, y: 50}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1001 &1641232233
@@ -5067,14 +5256,17 @@ PrefabInstance:
     - {fileID: 8455667667674168468, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
     - {fileID: 100008, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
     m_AddedGameObjects: []
-    m_AddedComponents: []
+    m_AddedComponents:
+    - targetCorrespondingSourceObject: {fileID: 100006, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 2023876524}
   m_SourcePrefab: {fileID: 100100000, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
 --- !u!114 &1641232234 stripped
 MonoBehaviour:
   m_CorrespondingSourceObject: {fileID: 11400004, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
   m_PrefabInstance: {fileID: 1641232233}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
+  m_GameObject: {fileID: 1974427093}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: c32067ea884548644b13cf9baddd4573, type: 3}
@@ -5221,7 +5413,7 @@ MonoBehaviour:
   m_fontMaterials: []
   m_fontColor32:
     serializedVersion: 2
-    rgba: 16777215
+    rgba: 4294967295
   m_fontColor: {r: 1, g: 1, b: 1, a: 0}
   m_enableVertexGradient: 0
   m_colorMode: 3
@@ -5325,7 +5517,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 143, y: -122}
+  m_AnchoredPosition: {x: 143, y: -172}
   m_SizeDelta: {x: 218, y: 60}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &1725686720
@@ -5855,6 +6047,8 @@ Transform:
   - {fileID: 461218465}
   - {fileID: 1222083999}
   - {fileID: 125324177}
+  - {fileID: 1951331926}
+  - {fileID: 2025282752}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1796129604
@@ -6498,6 +6692,56 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1948277206}
   m_CullTransparentMesh: 1
+--- !u!1 &1951331925
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1951331926}
+  - component: {fileID: 1951331927}
+  m_Layer: 0
+  m_Name: DataPersistanceManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1951331926
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1951331925}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1796129603}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1951331927
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1951331925}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 615057aa5dd75e34383756f1bf0fa143, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  fileName: data.game
+--- !u!1 &1974427093 stripped
+GameObject:
+  m_CorrespondingSourceObject: {fileID: 100006, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
+  m_PrefabInstance: {fileID: 1641232233}
+  m_PrefabAsset: {fileID: 0}
 --- !u!1 &1979757893
 GameObject:
   m_ObjectHideFlags: 0
@@ -6589,6 +6833,63 @@ Animator:
   m_CorrespondingSourceObject: {fileID: 9500000, guid: 4e5a0d387dc27394b81600988ad0216f, type: 3}
   m_PrefabInstance: {fileID: 1641232233}
   m_PrefabAsset: {fileID: 0}
+--- !u!114 &2023876524
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1974427093}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 472ec104c593ad9439f5dbb57bd16de6, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &2025282751
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2025282752}
+  - component: {fileID: 2025282753}
+  m_Layer: 0
+  m_Name: StatisticsManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2025282752
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2025282751}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1796129603}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2025282753
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2025282751}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 88721a2f76be08e449bdca94e099fa3d, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  fileNameStatistics: statistics.game
 --- !u!1 &2096198479
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Menu.unity b/Assets/Scenes/Menu.unity
index 72041379d54ca0f480c0568fd5ad25f392bd088e..2285f6862c63162e66af52a2a1a1e8df5e424901 100644
--- a/Assets/Scenes/Menu.unity
+++ b/Assets/Scenes/Menu.unity
@@ -38,7 +38,7 @@ RenderSettings:
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
   m_Sun: {fileID: 0}
-  m_IndirectSpecularColor: {r: 0.18028331, g: 0.2257133, b: 0.3069217, a: 1}
+  m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
   m_UseRadianceAmbientProbe: 0
 --- !u!157 &3
 LightmapSettings:
@@ -332,6 +332,101 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 70012874}
   m_CullTransparentMesh: 1
+--- !u!1 &124347719
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 124347720}
+  - component: {fileID: 124347723}
+  - component: {fileID: 124347722}
+  - component: {fileID: 124347721}
+  m_Layer: 5
+  m_Name: StatisticsTitle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &124347720
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 124347719}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1884372470}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -11}
+  m_SizeDelta: {x: 130, y: 30}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &124347721
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 124347719}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
+  m_EffectDistance: {x: 2, y: -2}
+  m_UseGraphicAlpha: 1
+--- !u!114 &124347722
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 124347719}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 46238fb1ad7a7a84ba8954c1c860994c, type: 3}
+    m_FontSize: 30
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 50
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 1
+    m_VerticalOverflow: 1
+    m_LineSpacing: 1
+  m_Text: STATISTICS
+--- !u!222 &124347723
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 124347719}
+  m_CullTransparentMesh: 1
 --- !u!1 &136518643
 GameObject:
   m_ObjectHideFlags: 0
@@ -1466,7 +1561,19 @@ MonoBehaviour:
   m_TargetGraphic: {fileID: 594932354}
   m_OnClick:
     m_PersistentCalls:
-      m_Calls: []
+      m_Calls:
+      - m_Target: {fileID: 2143127134}
+        m_TargetAssemblyTypeName: UnityEngine.Behaviour, UnityEngine
+        m_MethodName: set_enabled
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 1
+        m_CallState: 2
 --- !u!114 &594932354
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -2343,6 +2450,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   paused: {fileID: 0}
   unpaused: {fileID: 0}
+  canvas: {fileID: 0}
 --- !u!1 &1068563749
 GameObject:
   m_ObjectHideFlags: 0
@@ -3664,6 +3772,101 @@ MonoBehaviour:
   masterMixer: {fileID: 24100000, guid: 5b84db49d40ea449aa4f3e3bd229ab5b, type: 2}
   sfxSlider: {fileID: 2069403059}
   musicSlider: {fileID: 280752397}
+--- !u!1 &1450030135
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1450030136}
+  - component: {fileID: 1450030139}
+  - component: {fileID: 1450030138}
+  - component: {fileID: 1450030137}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1450030136
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1450030135}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1785871524}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: -2.5}
+  m_SizeDelta: {x: 0, y: -5}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1450030137
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1450030135}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
+  m_EffectDistance: {x: 2, y: -2}
+  m_UseGraphicAlpha: 1
+--- !u!114 &1450030138
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1450030135}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 46238fb1ad7a7a84ba8954c1c860994c, type: 3}
+    m_FontSize: 17
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: CLOSE
+--- !u!222 &1450030139
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1450030135}
+  m_CullTransparentMesh: 1
 --- !u!1 &1458912210
 GameObject:
   m_ObjectHideFlags: 0
@@ -3946,7 +4149,7 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1756263739}
   m_CullTransparentMesh: 1
---- !u!1 &1781923870
+--- !u!1 &1775940125
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -3954,66 +4157,187 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 1781923874}
-  - component: {fileID: 1781923873}
-  - component: {fileID: 1781923872}
-  - component: {fileID: 1781923871}
+  - component: {fileID: 1775940126}
+  - component: {fileID: 1775940129}
+  - component: {fileID: 1775940128}
+  - component: {fileID: 1775940127}
+  - component: {fileID: 1775940130}
   m_Layer: 5
-  m_Name: Canvas
+  m_Name: Statistics
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!114 &1781923871
+--- !u!224 &1775940126
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1775940125}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 1884372470}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 5}
+  m_SizeDelta: {x: 300, y: 140}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1775940127
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1781923870}
+  m_GameObject: {fileID: 1775940125}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_IgnoreReversedGraphics: 1
-  m_BlockingObjects: 0
-  m_BlockingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
---- !u!114 &1781923872
+  m_AllowSwitchOff: 0
+--- !u!114 &1775940128
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1781923870}
+  m_GameObject: {fileID: 1775940125}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  m_UiScaleMode: 1
-  m_ReferencePixelsPerUnit: 100
-  m_ScaleFactor: 1
-  m_ReferenceResolution: {x: 800, y: 600}
-  m_ScreenMatchMode: 0
-  m_MatchWidthOrHeight: 0.5
-  m_PhysicalUnit: 3
-  m_FallbackScreenDPI: 96
-  m_DefaultSpriteDPI: 96
-  m_DynamicPixelsPerUnit: 1
-  m_PresetInfoIsWorld: 0
---- !u!223 &1781923873
-Canvas:
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 46238fb1ad7a7a84ba8954c1c860994c, type: 3}
+    m_FontSize: 17
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 117
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 'Shots Fired:
+
+    Shots Hit:
+
+    Shot Accuracy:
+
+    Distance Traveled:
+
+    Play
+    Time:
+
+    High Score:
+
+    All Time Score:
+
+    Enemies Killed: '
+--- !u!222 &1775940129
+CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1781923870}
+  m_GameObject: {fileID: 1775940125}
+  m_CullTransparentMesh: 1
+--- !u!114 &1775940130
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1775940125}
   m_Enabled: 1
-  serializedVersion: 3
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cc69dcba98fc3554b93340e3297c3255, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &1781923870
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1781923874}
+  - component: {fileID: 1781923873}
+  - component: {fileID: 1781923872}
+  - component: {fileID: 1781923871}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1781923871
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1781923870}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &1781923872
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1781923870}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0.5
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!223 &1781923873
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1781923870}
+  m_Enabled: 1
+  serializedVersion: 3
   m_RenderMode: 0
   m_Camera: {fileID: 0}
   m_PlaneDistance: 100
@@ -4049,6 +4373,139 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
+--- !u!1 &1785871523
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1785871524}
+  - component: {fileID: 1785871527}
+  - component: {fileID: 1785871526}
+  - component: {fileID: 1785871525}
+  m_Layer: 5
+  m_Name: CloseButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1785871524
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785871523}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1450030136}
+  m_Father: {fileID: 1884372470}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0}
+  m_AnchorMax: {x: 0.5, y: 0}
+  m_AnchoredPosition: {x: -39, y: 15}
+  m_SizeDelta: {x: 79.8, y: 40}
+  m_Pivot: {x: 0, y: 0}
+--- !u!114 &1785871525
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785871523}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 2
+  m_Colors:
+    m_NormalColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 0.5019608}
+    m_HighlightedColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 0.69803923}
+    m_PressedColor: {r: 0.34509805, g: 0.34509805, b: 0.34509805, a: 0.69803923}
+    m_SelectedColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 0.69803923}
+    m_DisabledColor: {r: 0.2509804, g: 0.2509804, b: 0.2509804, a: 0.5019608}
+    m_ColorMultiplier: 2
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 21300002, guid: 5362fbfb8a7d67b499bebb4e286cea71, type: 3}
+    m_PressedSprite: {fileID: 21300002, guid: 997c5c17c1c4b8e45b6a1c47799ddeb0, type: 3}
+    m_SelectedSprite: {fileID: 21300002, guid: 5362fbfb8a7d67b499bebb4e286cea71, type: 3}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Highlighted
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 1785871526}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 2143127134}
+        m_TargetAssemblyTypeName: UnityEngine.Behaviour, UnityEngine
+        m_MethodName: set_enabled
+        m_Mode: 6
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 1
+--- !u!114 &1785871526
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785871523}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300002, guid: 691c72ed2864a3f42a2479bbe70525cc, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1785871527
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1785871523}
+  m_CullTransparentMesh: 1
 --- !u!1 &1789674725
 GameObject:
   m_ObjectHideFlags: 0
@@ -4570,6 +5027,84 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_AllowSwitchOff: 0
+--- !u!1 &1884372469
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1884372470}
+  - component: {fileID: 1884372472}
+  - component: {fileID: 1884372471}
+  m_Layer: 5
+  m_Name: PausePanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1884372470
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1884372469}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 124347720}
+  - {fileID: 1785871524}
+  - {fileID: 1775940126}
+  m_Father: {fileID: 2143127135}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 1}
+  m_AnchorMax: {x: 0.5, y: 1}
+  m_AnchoredPosition: {x: 0, y: -8}
+  m_SizeDelta: {x: 450, y: 249.3}
+  m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1884372471
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1884372469}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.70000005, g: 0.65625, b: 0.875, a: 0.7882353}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300002, guid: a5a780e4a881ea44f88afed421a63c3a, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1884372472
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1884372469}
+  m_CullTransparentMesh: 1
 --- !u!1 &1913309844
 GameObject:
   m_ObjectHideFlags: 0
@@ -5465,6 +6000,97 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2097386369}
   m_CullTransparentMesh: 1
+--- !u!1 &2143127131
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2143127135}
+  - component: {fileID: 2143127134}
+  - component: {fileID: 2143127133}
+  - component: {fileID: 2143127132}
+  m_Layer: 5
+  m_Name: StatisticsCanvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!225 &2143127132
+CanvasGroup:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2143127131}
+  m_Enabled: 1
+  m_Alpha: 1
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
+--- !u!114 &2143127133
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2143127131}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!223 &2143127134
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2143127131}
+  m_Enabled: 0
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
+  m_AdditionalShaderChannelsFlag: 25
+  m_UpdateRectTransformForStandalone: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &2143127135
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2143127131}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1884372470}
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
 --- !u!1660057539 &9223372036854775807
 SceneRoots:
   m_ObjectHideFlags: 0
@@ -5474,4 +6100,5 @@ SceneRoots:
   - {fileID: 1781923874}
   - {fileID: 1105353741}
   - {fileID: 1438257278}
+  - {fileID: 2143127135}
   - {fileID: 1356246773}
diff --git a/Assets/Scripts/Camera/CameraFollow.cs b/Assets/Scripts/Camera/CameraFollow.cs
index e02e4fa89dec8bdb553baf29b30563fc3b4abe0e..5e3ebe8d79067eb4752772ed47092ab68f77b7d0 100644
--- a/Assets/Scripts/Camera/CameraFollow.cs
+++ b/Assets/Scripts/Camera/CameraFollow.cs
@@ -3,7 +3,7 @@ using System.Collections;
 
 namespace Nightmare
 {
-    public class CameraFollow : MonoBehaviour
+    public class CameraFollow : MonoBehaviour, IDataPersistance
     {
         public Transform target;            // The position that that camera will be following.
         public float smoothing = 5f;        // The speed with which the camera will be following.
@@ -24,5 +24,19 @@ namespace Nightmare
             // Smoothly interpolate between the camera's current position and it's target position.
             transform.position = Vector3.Lerp (transform.position, targetCamPos, smoothing * Time.deltaTime);
         }
+
+        public void LoadData(GameData data)
+        {
+            if (data.cameraPosition != Vector3.zero)
+            {
+                this.transform.position = data.cameraPosition;
+            }
+        }
+
+        public void SaveData(ref GameData data)
+        {
+            data.cameraPosition = this.transform.position;
+        }
+
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Camera/CameraPosition.cs b/Assets/Scripts/Camera/CameraPosition.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d663007ef8c1f56b52b799fd5486e107b8c81097
--- /dev/null
+++ b/Assets/Scripts/Camera/CameraPosition.cs
@@ -0,0 +1,27 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class CameraPosition : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+
+    }
+    //public void LoadData(GameData data)
+    //{
+    //    this.transform.position = data.cameraPosition;
+    //}
+
+    //public void SaveData(ref GameData data)
+    //{
+    //    data.cameraPosition = this.transform.position;
+    //}
+}
diff --git a/Assets/Scripts/Camera/CameraPosition.cs.meta b/Assets/Scripts/Camera/CameraPosition.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..96dd0796cd9eb15dd49e9f7494933b7ff209614a
--- /dev/null
+++ b/Assets/Scripts/Camera/CameraPosition.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0bb2d3419e085b341a2beb50ff4e439c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/DataPersistance.meta b/Assets/Scripts/DataPersistance.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3611194e1c3f721f59f4192bcd9fdf4216e494eb
--- /dev/null
+++ b/Assets/Scripts/DataPersistance.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac1bd35b15d13ef4fb007d122c07c9f1
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/DataPersistance/Data.meta b/Assets/Scripts/DataPersistance/Data.meta
new file mode 100644
index 0000000000000000000000000000000000000000..1d35b95264c17368cbc36032a0cc295b5ddd96b9
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/Data.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bca084b46d9a8cd49b51558777d4da2d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/DataPersistance/Data/GameData.cs b/Assets/Scripts/DataPersistance/Data/GameData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ad5baf5415b2057622bca3960f652af62e08c1ce
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/Data/GameData.cs
@@ -0,0 +1,43 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[System.Serializable]
+
+public class GameData
+{
+    // public int timer;
+    public int playerHealth;
+    public float damagePercent;
+
+    public Vector3 playerPosition;
+    public Vector3 cameraPosition;
+
+    public int score;
+    public int shotsFired;
+    public int shotsHit;
+    public double shotAccuracy;
+    public double distanceTraveled;
+    public double playTime;
+    public int highScore;
+    public int allTimeScore;
+    public int enemiesKilled;
+
+
+    public GameData()
+    {
+        this.playerHealth = 100;
+        this.damagePercent = 1;
+        this.playerPosition = Vector3.zero;
+        this.cameraPosition = Vector3.zero;
+
+        // Statistics
+        this.score = 0;
+        this.shotsFired = 0;
+        this.shotsHit = 0;
+        this.shotAccuracy = 0;
+        this.distanceTraveled = 0;
+        this.playTime = 0;
+        this.enemiesKilled = 0;
+    }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/DataPersistance/Data/GameData.cs.meta b/Assets/Scripts/DataPersistance/Data/GameData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8713687b4764ac4d6d29c9883468efb07446463e
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/Data/GameData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: efb9228d2119b7c4094048f380084902
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/DataPersistance/DataPersistanceManager.cs b/Assets/Scripts/DataPersistance/DataPersistanceManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9944b64235eea2b349141c6818b47696e87263cf
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/DataPersistanceManager.cs
@@ -0,0 +1,85 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+
+public class DataPersistanceManager : MonoBehaviour
+{
+    [Header("File Storage Config")]
+    [SerializeField] private string fileName;
+
+    private GameData gameData;
+
+    private List<IDataPersistance> dataPersistanceObjects;
+    private FileDataHandler dataHandler;
+
+
+    public static DataPersistanceManager instance { get; private set; }
+
+
+    public void Awake()
+    {
+        if (instance != null)
+        {
+            Debug.LogError("Found more than one Data Persistance Manager in the scene.");
+        }
+        instance = this;
+    }
+
+    private void Start()
+    {
+        this.dataHandler = new FileDataHandler(Application.persistentDataPath, fileName);
+        this.dataPersistanceObjects = FindAllDataPersistanceObjects();
+        LoadGame();
+    }
+
+    public void NewGame()
+    {
+        this.gameData = new GameData();
+    }
+
+    public void LoadGame()
+    {
+        // load any saved data form a file using the data handler
+        this.gameData = dataHandler.Load();
+
+
+        // if no data can be loaded, initialize to a new game
+        if (this.gameData == null)
+        {
+            NewGame();
+        }
+
+        // push the loaded data to all other scipts that need it
+        foreach (IDataPersistance dataPersistanceObj in dataPersistanceObjects)
+        {
+            dataPersistanceObj.LoadData(gameData);
+        }
+
+    }
+    public void SaveGame()
+    {
+        // pass the data to other scripts so they can update it 
+        foreach (IDataPersistance dataPersistanceObj in dataPersistanceObjects)
+        {
+            dataPersistanceObj.SaveData(ref gameData);
+        }
+
+        // save that data to a file using the data handler
+        dataHandler.Save(gameData);
+    }
+
+    private void OnApplicationQuit()
+    {
+        SaveGame();
+    }
+
+    private List<IDataPersistance> FindAllDataPersistanceObjects()
+    {
+        IEnumerable<IDataPersistance> dataPersistanceObjects = FindObjectsOfType<MonoBehaviour>()
+            .OfType<IDataPersistance>();
+
+        return new List<IDataPersistance>(dataPersistanceObjects);
+    }
+
+}
diff --git a/Assets/Scripts/DataPersistance/DataPersistanceManager.cs.meta b/Assets/Scripts/DataPersistance/DataPersistanceManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..42be37d44c359c54f909155bf75338b95915d2aa
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/DataPersistanceManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 615057aa5dd75e34383756f1bf0fa143
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/DataPersistance/FileDataHandler.cs b/Assets/Scripts/DataPersistance/FileDataHandler.cs
new file mode 100644
index 0000000000000000000000000000000000000000..4a3ae761e6d6e566603eb9252855ba4074ef3629
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/FileDataHandler.cs
@@ -0,0 +1,78 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.IO;
+
+
+public class FileDataHandler
+{
+    private string dataDirPath = "";
+    private string dataFileName = "";
+
+
+    public FileDataHandler(string dataDirPath, string dataFileName)
+    {
+        this.dataDirPath = dataDirPath;
+        this.dataFileName = dataFileName;
+    }
+
+
+    public GameData Load()
+    {
+        // use Path.Combine to account for different OS's having different path separators
+        string fullPath = Path.Combine(dataDirPath, dataFileName);
+        GameData loadedData = null;
+        if (File.Exists(fullPath))
+        {
+            try
+            {
+                // load the serialized data from the file
+                string dataToLoad = "";
+                using (FileStream stream = new FileStream(fullPath, FileMode.Open))
+                {
+                    using (StreamReader reader = new StreamReader(stream))
+                    {
+                        dataToLoad = reader.ReadToEnd();
+                    }
+                }
+
+                // deserialize the data from Json back nto the C# object
+                loadedData = JsonUtility.FromJson<GameData>(dataToLoad);
+
+            }
+            catch (Exception e)
+            {
+                Debug.LogError("Error occured when trying to load data from file: " + fullPath + "\n" + e);
+            }
+        }
+        return loadedData;
+    }
+
+    public void Save(GameData data)
+    {
+        string fullPath = Path.Combine(dataDirPath, dataFileName);
+
+        try
+        {
+            // create the directory the file will be written to if it doesn't already exist
+            Directory.CreateDirectory(Path.GetDirectoryName(fullPath));
+
+            // serialize the C# game data object into Json
+            string dataToStore = JsonUtility.ToJson(data, true);
+
+            // write the serialized data to the file
+            using (FileStream stream = new FileStream(fullPath, FileMode.Create))
+            {
+                using (StreamWriter writer = new StreamWriter(stream))
+                {
+                    writer.Write(dataToStore);
+                }
+            }
+        }
+        catch (Exception e)
+        {
+            Debug.LogError("Error occured when trying to save data to file: " + fullPath + "\n" + e);
+        }
+    }
+}
diff --git a/Assets/Scripts/DataPersistance/FileDataHandler.cs.meta b/Assets/Scripts/DataPersistance/FileDataHandler.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6bf17df1d55264adad0d003dffab7b4299dc22bc
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/FileDataHandler.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 820333adc13c5f64393c79a333c62618
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/DataPersistance/IDataPersistance.cs b/Assets/Scripts/DataPersistance/IDataPersistance.cs
new file mode 100644
index 0000000000000000000000000000000000000000..43475cc50375ab3040a9403a1bda53d2e447c2b5
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/IDataPersistance.cs
@@ -0,0 +1,10 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public interface IDataPersistance
+{
+    void LoadData(GameData data);
+
+    void SaveData(ref GameData data);
+}
diff --git a/Assets/Scripts/DataPersistance/IDataPersistance.cs.meta b/Assets/Scripts/DataPersistance/IDataPersistance.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a13d1a7d01a2854ace2a70d4e0347169a412bfca
--- /dev/null
+++ b/Assets/Scripts/DataPersistance/IDataPersistance.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 54ff2aac833878f4a8a190d6294c45fd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Enemy/EnemyHealth.cs b/Assets/Scripts/Enemy/EnemyHealth.cs
index 726b12e915eb9e2369a4cef891290a05741e783e..ab809be19b7dadd94d2d3fdf85475cb71009fdda 100644
--- a/Assets/Scripts/Enemy/EnemyHealth.cs
+++ b/Assets/Scripts/Enemy/EnemyHealth.cs
@@ -25,12 +25,12 @@ namespace Nightmare
         public GameObject restoreHealthOrbPrefab; // Restore Health Orb
         public GameObject increaseSpeedOrbPrefab; // Increase Speed Orb
 
-        void Awake ()
+        void Awake()
         {
-            anim = GetComponent <Animator> ();
-            enemyAudio = GetComponent <AudioSource> ();
-            hitParticles = GetComponentInChildren <ParticleSystem> ();
-            capsuleCollider = GetComponent <CapsuleCollider> ();
+            anim = GetComponent<Animator>();
+            enemyAudio = GetComponent<AudioSource>();
+            hitParticles = GetComponentInChildren<ParticleSystem>();
+            capsuleCollider = GetComponent<CapsuleCollider>();
             enemyMovement = this.GetComponent<EnemyMovement>();
 
             int difficultyLvl = PlayerPrefs.GetInt("Difficulty", 0);
@@ -38,7 +38,8 @@ namespace Nightmare
             {
                 startingHealth = Mathf.RoundToInt(startingHealth * 1.5f);
                 scoreValue *= 2;
-            } else if (difficultyLvl == 2)
+            }
+            else if (difficultyLvl == 2)
             {
                 startingHealth = Mathf.RoundToInt(startingHealth * 2f);
                 scoreValue *= 3;
@@ -57,11 +58,11 @@ namespace Nightmare
             capsuleCollider.attachedRigidbody.isKinematic = isKinematic;
         }
 
-        void Update ()
+        void Update()
         {
             if (IsDead())
             {
-                transform.Translate (-Vector3.up * sinkSpeed * Time.deltaTime);
+                transform.Translate(-Vector3.up * sinkSpeed * Time.deltaTime);
                 if (transform.position.y < -10f)
                 {
                     Destroy(gameObject);
@@ -74,7 +75,7 @@ namespace Nightmare
             return (currentHealth <= 0f);
         }
 
-        public void TakeDamage (int amount, Vector3 hitPoint)
+        public void TakeDamage(int amount, Vector3 hitPoint)
         {
             if (!IsDead())
             {
@@ -91,12 +92,12 @@ namespace Nightmare
                     enemyMovement?.GoToPlayer();
                 }
             }
-                
+
             hitParticles.transform.position = hitPoint;
             hitParticles.Play();
         }
 
-        void Death ()
+        void Death()
         {
             float orbSpawnProbability = 0.3f; // Orb Spawn Probability
 
@@ -130,38 +131,44 @@ namespace Nightmare
                     Debug.Log("Orb prefab is null");
                 }
             }
-            
+
 
             EventManager.TriggerEvent("Sound", this.transform.position);
-            anim.SetTrigger ("Dead");
+            anim.SetTrigger("Dead");
 
             if (enemyAudio != null)
             {
                 enemyAudio.clip = deathClip;
-                enemyAudio.Play ();
+                enemyAudio.Play();
             }
-     
+
         }
 
-        public void StartSinking ()
+        public void StartSinking()
         {
-            GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false;
+            GetComponent<UnityEngine.AI.NavMeshAgent>().enabled = false;
             SetKinematics(true);
-
-            ScoreManager.score += scoreValue;
+            InGameTextStatistics.score += scoreValue;
+            TextStatistics.allTimeScore += scoreValue;
             if (type == enemyTypes.Keroco)
             {
                 QuestManager.kerocoCount++;
-            } else if (type == enemyTypes.Kepala)
+            }
+            else if (type == enemyTypes.Kepala)
             {
                 QuestManager.kepalaCount++;
-            } else if (type == enemyTypes.Jenderal)
+            }
+            else if (type == enemyTypes.Jenderal)
             {
                 QuestManager.jenderalCount++;
-            } else
+            }
+            else
             {
                 QuestManager.rajaCount++;
             }
+            TextStatistics.enemiesKilled++;
+            InGameTextStatistics.enemiesKilled++;
+
         }
 
         public int CurrentHealth()
diff --git a/Assets/Scripts/Enemy/EnemyMovement.cs b/Assets/Scripts/Enemy/EnemyMovement.cs
index 3ee30caca8ab9a6f6f9450aa5cd921b9291f3460..ddf580c42e1e829e67dbb637a9924099877dadd5 100644
--- a/Assets/Scripts/Enemy/EnemyMovement.cs
+++ b/Assets/Scripts/Enemy/EnemyMovement.cs
@@ -51,12 +51,12 @@ namespace Nightmare
         {
             if (isFreeze && nav.isOnNavMesh)
             {
-                nav.enabled = false;
+                nav.isStopped = true;
                 return;
             }
             else if (!isFreeze && nav.isOnNavMesh)
             {
-                nav.enabled = true;
+                nav.isStopped = false;
             }
 
             if (!isPaused)
diff --git a/Assets/Scripts/Managers/GameOverManager.cs b/Assets/Scripts/Managers/GameOverManager.cs
index 7eadda73500997f1008e0c996cf57633ebc8a749..f89083c3a484ba6c098bddc37ed9b1217b91edff 100644
--- a/Assets/Scripts/Managers/GameOverManager.cs
+++ b/Assets/Scripts/Managers/GameOverManager.cs
@@ -28,7 +28,11 @@ namespace Nightmare {
         }
 
         private void ResetLevel() {
-            ScoreManager.score = 0;
+            // ScoreManager.score = 0;
+            if (InGameTextStatistics.score > TextStatistics.highScore)
+            {
+                TextStatistics.highScore = InGameTextStatistics.score;
+            }
             // lm.LoadInitialLevel();
             // playerHealth.ResetPlayer();
             timerManager.ResetTimer();
diff --git a/Assets/Scripts/Managers/ScoreManager.cs b/Assets/Scripts/Managers/ScoreManager.cs
index f72f10f50a32d1ceafd565667ac86c957529f553..9cddb2ae5db757bdec70bb47956db7257f036b1c 100644
--- a/Assets/Scripts/Managers/ScoreManager.cs
+++ b/Assets/Scripts/Managers/ScoreManager.cs
@@ -12,17 +12,18 @@ namespace Nightmare
 
         Text sText;
 
-        void Awake ()
+        void Awake()
         {
-            sText = GetComponent <Text> ();
+            sText = GetComponent<Text>();
 
             score = 0;
             levelThreshhold = LEVEL_INCREASE;
         }
 
 
-        void Update ()
+        void Update()
         {
+            ScoreManager.score = InGameTextStatistics.score;
             sText.text = "Score: " + score;
         }
 
diff --git a/Assets/Scripts/Managers/TimerManager.cs b/Assets/Scripts/Managers/TimerManager.cs
index 451d2bce8b96f0d36749a6c163fbbf6ee1d6035a..8c37f9ae27c4c90280ef3087efab3d75a393ae27 100644
--- a/Assets/Scripts/Managers/TimerManager.cs
+++ b/Assets/Scripts/Managers/TimerManager.cs
@@ -18,6 +18,8 @@ public class TimerManager : MonoBehaviour {
     void Update() {
         if (isRunning) {
             time = time + Time.deltaTime;
+            TextStatistics.playTime += Time.deltaTime;
+            InGameTextStatistics.playTime += Time.deltaTime;
         }
         string timeText = System.TimeSpan.FromSeconds(time).ToString("mm':'ss");
         Timer.text = timeText;
diff --git a/Assets/Scripts/Player/PlayerHealth.cs b/Assets/Scripts/Player/PlayerHealth.cs
index 0c603cfd9f147e79593cb59a337da5c6307a2ed9..ce62ec6323b049430304b905c02c4549dcc72a8c 100644
--- a/Assets/Scripts/Player/PlayerHealth.cs
+++ b/Assets/Scripts/Player/PlayerHealth.cs
@@ -5,7 +5,7 @@ using UnityEngine.SceneManagement;
 
 namespace Nightmare
 {
-    public class PlayerHealth : MonoBehaviour
+    public class PlayerHealth : MonoBehaviour, IDataPersistance
     {
         public int startingHealth = 100;
         public int currentHealth;
@@ -123,5 +123,17 @@ namespace Nightmare
         {
             isCheatNoDamage = isActive;
         }
+
+        public void LoadData(GameData data)
+        {
+            this.currentHealth = data.playerHealth;
+            healthSlider.value = this.currentHealth;
+        }
+
+        public void SaveData(ref GameData data)
+        {
+            data.playerHealth = this.currentHealth;
+        }
+
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Player/PlayerMovement.cs b/Assets/Scripts/Player/PlayerMovement.cs
index 3e3c95e177a2f26b17ae77002cff50404c6f7b92..03b73eebb16e7791b3e2e1f6052892f990a4b61e 100644
--- a/Assets/Scripts/Player/PlayerMovement.cs
+++ b/Assets/Scripts/Player/PlayerMovement.cs
@@ -19,6 +19,8 @@ namespace Nightmare
         float camRayLength = 100f;          // The length of the ray from the camera into the scene.
 #endif
 
+        private Vector3 lastPosition; // Variable to store the last position
+
         void Awake ()
         {
 #if !MOBILE_INPUT
@@ -65,6 +67,21 @@ namespace Nightmare
         {
             // Set the movement vector based on the axis input.
             movement.Set (h, 0f, v);
+
+            // Calculate the distance moved since the last frame
+            float distanceMoved = Vector3.Distance(transform.position, lastPosition);
+
+            // Update the last position to the current position
+            lastPosition = transform.position;
+
+            // If the distance moved is greater than a small threshold (to avoid counting tiny movements due to floating-point imprecision)
+            if (distanceMoved > 0.001f)
+            {
+                // Increment distanceTraveled by the distance moved
+                TextStatistics.distanceTraveled += distanceMoved;
+                InGameTextStatistics.distanceTraveled += distanceMoved;
+            }
+
             
             // Normalise the movement vector and make it proportional to the speed per second.
             movement = movement.normalized * speed * Time.deltaTime;
diff --git a/Assets/Scripts/Player/PlayerPosition.cs b/Assets/Scripts/Player/PlayerPosition.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5562906036fad64be2c57142d0f046b8a479dd37
--- /dev/null
+++ b/Assets/Scripts/Player/PlayerPosition.cs
@@ -0,0 +1,28 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class PlayerPosition : MonoBehaviour, IDataPersistance
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    public void LoadData(GameData data)
+    {
+        this.transform.position = data.playerPosition;
+    }
+
+    public void SaveData(ref GameData data)
+    {
+        data.playerPosition = this.transform.position;
+    }
+}
diff --git a/Assets/Scripts/Player/PlayerPosition.cs.meta b/Assets/Scripts/Player/PlayerPosition.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..156f56cddddee096d3454b076862140cbe621307
--- /dev/null
+++ b/Assets/Scripts/Player/PlayerPosition.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 472ec104c593ad9439f5dbb57bd16de6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Player/PlayerShooting.cs b/Assets/Scripts/Player/PlayerShooting.cs
index 1bbb2228a3e43878460e6ee35c5e5b14af857a33..f5c0eecca2be51e7787920e487e123c1aa468b6f 100644
--- a/Assets/Scripts/Player/PlayerShooting.cs
+++ b/Assets/Scripts/Player/PlayerShooting.cs
@@ -9,7 +9,7 @@ using UnityEngine.Playables;
 
 namespace Nightmare
 {
-    public class PlayerShooting : PausibleObject
+    public class PlayerShooting : PausibleObject, IDataPersistance
     {
         public GameObject grenade;
         public float grenadeSpeed = 200f;
@@ -234,5 +234,16 @@ namespace Nightmare
         {
             damagePercent = 100000;
         }
+
+        public void LoadData(GameData data)
+        {
+            data.damagePercent = this.damagePercent;
+        }
+
+        public void SaveData(ref GameData data)
+        {
+            this.damagePercent = data.damagePercent;
+        }
+
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Statistics.meta b/Assets/Scripts/Statistics.meta
new file mode 100644
index 0000000000000000000000000000000000000000..b1271b57c02387ceb432606938638ae575330c0a
--- /dev/null
+++ b/Assets/Scripts/Statistics.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: efce739546f09ff49becd1de78c46247
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/FileStatisticsHandler.cs b/Assets/Scripts/Statistics/FileStatisticsHandler.cs
new file mode 100644
index 0000000000000000000000000000000000000000..10539885e914c8afccd11c81b47e5ef8350a6a6b
--- /dev/null
+++ b/Assets/Scripts/Statistics/FileStatisticsHandler.cs
@@ -0,0 +1,78 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using System.IO;
+
+
+public class FileStatisticsHandler 
+{
+    private string dataDirPath = "";
+    private string dataFileName = "";
+
+
+    public FileStatisticsHandler(string dataDirPath, string dataFileName)
+    {
+        this.dataDirPath = dataDirPath;
+        this.dataFileName = dataFileName;
+    }
+
+
+    public StatisticsData Load()
+    {
+        // use Path.Combine to account for different OS's having different path separators
+        string fullPath = Path.Combine(dataDirPath, dataFileName);
+        StatisticsData loadedData = null;
+        if (File.Exists(fullPath))
+        {
+            try
+            {
+                // load the serialized data from the file
+                string dataToLoad = "";
+                using (FileStream stream = new FileStream(fullPath, FileMode.Open))
+                {
+                    using (StreamReader reader = new StreamReader(stream))
+                    {
+                        dataToLoad = reader.ReadToEnd();
+                    }
+                }
+
+                // deserialize the data from Json back nto the C# object
+                loadedData = JsonUtility.FromJson<StatisticsData>(dataToLoad);
+
+            }
+            catch (Exception e)
+            {
+                Debug.LogError("Error occured when trying to load data from file: " + fullPath + "\n" + e);
+            }
+        }
+        return loadedData;
+    }
+
+    public void Save(StatisticsData data)
+    {
+        string fullPath = Path.Combine(dataDirPath, dataFileName);
+
+        try
+        {
+            // create the directory the file will be written to if it doesn't already exist
+            Directory.CreateDirectory(Path.GetDirectoryName(fullPath));
+
+            // serialize the C# game data object into Json
+            string dataToStore = JsonUtility.ToJson(data, true);
+            
+            // write the serialized data to the file
+            using (FileStream stream = new FileStream(fullPath, FileMode.Create))
+            {
+                using (StreamWriter writer = new StreamWriter(stream))
+                {
+                    writer.Write(dataToStore);
+                }
+            }
+        }
+        catch (Exception e)
+        {
+            Debug.LogError("Error occured when trying to save statistics data to file: " + fullPath + "\n" + e);
+        }
+    }
+}
diff --git a/Assets/Scripts/Statistics/FileStatisticsHandler.cs.meta b/Assets/Scripts/Statistics/FileStatisticsHandler.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..62f2bed85a89573f8a24b6cf5bbfff320ed6366f
--- /dev/null
+++ b/Assets/Scripts/Statistics/FileStatisticsHandler.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7c78693f054879f47ae27834bceb4024
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/IStatisticsData.cs b/Assets/Scripts/Statistics/IStatisticsData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0fb805a0ce38cd1b2355b342c39e0deb64910dc9
--- /dev/null
+++ b/Assets/Scripts/Statistics/IStatisticsData.cs
@@ -0,0 +1,10 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public interface IStatisticsData
+{
+    void LoadStatistics(StatisticsData data);
+
+    void SaveStatistics(ref StatisticsData data);
+}
diff --git a/Assets/Scripts/Statistics/IStatisticsData.cs.meta b/Assets/Scripts/Statistics/IStatisticsData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e914f0b2b72ca983a2d7d53f25fa40632933d023
--- /dev/null
+++ b/Assets/Scripts/Statistics/IStatisticsData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7d75d8325e71dfe4b8421b7aacf28286
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/InGameTextStatistics.cs b/Assets/Scripts/Statistics/InGameTextStatistics.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2f92e80da688bb88af80fb970b890ade070310f8
--- /dev/null
+++ b/Assets/Scripts/Statistics/InGameTextStatistics.cs
@@ -0,0 +1,80 @@
+using System.Collections;
+using System.Collections.Generic;
+using Nightmare;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class InGameTextStatistics : MonoBehaviour, IDataPersistance
+{
+    public static int score;
+    public static int shotsFired;
+    public static int shotsHit;
+    public static double shotAccuracy;
+    public static double distanceTraveled;
+    public static double playTime;
+    public static int enemiesKilled;
+
+    public Text statistics;
+
+    void Awake()
+    {
+        InGameTextStatistics.score = 0;
+        InGameTextStatistics.shotsFired = 0;
+        InGameTextStatistics.shotsHit = 0;
+        InGameTextStatistics.shotAccuracy = 0;
+        InGameTextStatistics.distanceTraveled = 0;
+        InGameTextStatistics.playTime = 0;
+        InGameTextStatistics.enemiesKilled = 0;
+
+        this.statistics = GetComponent<Text>();
+    }
+
+    // Start is called before the first frame update
+    void Start()
+    {
+
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        string timeText = System.TimeSpan.FromSeconds(InGameTextStatistics.playTime).ToString("mm':'ss");
+        if (InGameTextStatistics.shotsFired != 0)
+        {
+            InGameTextStatistics.shotAccuracy = ((double)InGameTextStatistics.shotsHit / InGameTextStatistics.shotsFired) * 100;
+        }
+
+        statistics.text = "Score: " + InGameTextStatistics.score + "\n"
+                           + "Shots Fired: " + InGameTextStatistics.shotsFired + "\n"
+                           + "Shots Hit: " + InGameTextStatistics.shotsHit + "\n"
+                           + "Shot Accuracy: " + InGameTextStatistics.shotAccuracy.ToString("F2") + "%\n"
+                           + "Distance Traveled: " + (InGameTextStatistics.distanceTraveled / 1000).ToString("F3") + "km \n"
+                           + "Play Time: " + timeText + "\n"
+                           + "Enemies Killed: " + InGameTextStatistics.enemiesKilled + "\n";
+    }
+
+
+    public void LoadData(GameData data)
+    {
+        InGameTextStatistics.score = data.score;
+        InGameTextStatistics.shotsFired = data.shotsFired;
+        InGameTextStatistics.shotsHit = data.shotsHit;
+        InGameTextStatistics.shotAccuracy = data.shotAccuracy;
+        InGameTextStatistics.distanceTraveled = data.distanceTraveled;
+        InGameTextStatistics.playTime = data.playTime;
+        InGameTextStatistics.enemiesKilled = data.enemiesKilled;
+    }
+
+    public void SaveData(ref GameData data)
+    {
+        data.score = InGameTextStatistics.score;
+        data.shotsFired = InGameTextStatistics.shotsFired;
+        data.shotsHit = InGameTextStatistics.shotsHit;
+        data.shotAccuracy = InGameTextStatistics.shotAccuracy;
+        data.distanceTraveled = InGameTextStatistics.distanceTraveled;
+        data.playTime = InGameTextStatistics.playTime;
+        data.enemiesKilled = InGameTextStatistics.enemiesKilled;
+    }
+
+}
diff --git a/Assets/Scripts/Statistics/InGameTextStatistics.cs.meta b/Assets/Scripts/Statistics/InGameTextStatistics.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..74dec250223292ff86d252e4c7d1c8392eb9b4d5
--- /dev/null
+++ b/Assets/Scripts/Statistics/InGameTextStatistics.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 712c00f247ff6a146bb72ac664470118
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/Statistics Data.meta b/Assets/Scripts/Statistics/Statistics Data.meta
new file mode 100644
index 0000000000000000000000000000000000000000..ac30c9ffdefa352e5c31e05d7a65197098f813e2
--- /dev/null
+++ b/Assets/Scripts/Statistics/Statistics Data.meta	
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7eaaa89ec6d929b41a1e063d28f524b2
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/Statistics Data/StatisticsData.cs b/Assets/Scripts/Statistics/Statistics Data/StatisticsData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3eae485ef13ff7f5b2df13348573792665e25516
--- /dev/null
+++ b/Assets/Scripts/Statistics/Statistics Data/StatisticsData.cs	
@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[System.Serializable]
+
+public class StatisticsData
+{
+    public int shotsFired;
+    public int shotsHit;
+    public double shotAccuracy;
+    public double distanceTraveled;
+    public double playTime;
+    public int highScore;
+    public int allTimeScore;
+    public int enemiesKilled;
+
+    public StatisticsData()
+    {
+        this.shotsFired = 0;
+        this.shotsHit = 0;
+        this.shotAccuracy = 0;
+        this.distanceTraveled = 0;
+        this.playTime = 0;
+        this.highScore = 0;
+        this.allTimeScore = 0;
+        this.enemiesKilled = 0;
+    }
+}
diff --git a/Assets/Scripts/Statistics/Statistics Data/StatisticsData.cs.meta b/Assets/Scripts/Statistics/Statistics Data/StatisticsData.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..fb151456b0e84bdca70ac3cf5d4c7c8a28d008de
--- /dev/null
+++ b/Assets/Scripts/Statistics/Statistics Data/StatisticsData.cs.meta	
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a3fb9b8369eaff94698ccc2a5d2de65f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/StatisticsManager.cs b/Assets/Scripts/Statistics/StatisticsManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ac668f957507178c8d3b6dd65e5a201730e655d5
--- /dev/null
+++ b/Assets/Scripts/Statistics/StatisticsManager.cs
@@ -0,0 +1,85 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+
+public class StatisticsManager : MonoBehaviour
+{
+    [Header("File Storage Config")]
+    [SerializeField] private string fileNameStatistics;
+
+    private StatisticsData statisticsData;
+
+    private List<IStatisticsData> statisticsDataObjects;
+    private FileStatisticsHandler dataHandler;
+
+
+    public static StatisticsManager instance { get; private set; }
+
+
+    public void Awake()
+    {
+        if (instance != null)
+        {
+            Debug.LogError("Found more than one Statistics Manager in the scene.");
+        }
+        instance = this;
+    }
+
+    private void Start()
+    {
+        this.dataHandler = new FileStatisticsHandler(Application.persistentDataPath, fileNameStatistics);
+        this.statisticsDataObjects = FindAllStatisticsObjects();
+        LoadStatistics();
+    }
+
+    public void NewStatistics()
+    {
+        this.statisticsData = new StatisticsData();
+    }
+
+    public void LoadStatistics()
+    {
+        // load any saved data form a file using the data handler
+        this.statisticsData = dataHandler.Load();
+
+
+        // if no data can be loaded, initialize to a new game
+        if (this.statisticsData == null)
+        {
+            NewStatistics();
+        }
+
+        // push the loaded data to all other scipts that need it
+        foreach (IStatisticsData statisticsDataObj in statisticsDataObjects)
+        {
+            statisticsDataObj.LoadStatistics(statisticsData);
+        }
+
+    }
+    public void SaveStatistics()
+    {
+        // pass the data to other scripts so they can update it 
+        foreach (IStatisticsData statisticsDataObj in statisticsDataObjects)
+        {
+            statisticsDataObj.SaveStatistics(ref statisticsData);
+        }
+
+        // save that data to a file using the data handler
+        dataHandler.Save(statisticsData);
+    }
+
+    private void OnApplicationQuit()
+    {
+        SaveStatistics();
+    }
+
+    private List<IStatisticsData> FindAllStatisticsObjects()
+    {
+        IEnumerable<IStatisticsData> statisticsDataObjects = FindObjectsOfType<MonoBehaviour>()
+            .OfType<IStatisticsData>();
+
+        return new List<IStatisticsData>(statisticsDataObjects);
+    }
+
+}
diff --git a/Assets/Scripts/Statistics/StatisticsManager.cs.meta b/Assets/Scripts/Statistics/StatisticsManager.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..5acf8bbd8905dbdfb327c8625f5ad4ccc2b654a8
--- /dev/null
+++ b/Assets/Scripts/Statistics/StatisticsManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 88721a2f76be08e449bdca94e099fa3d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Statistics/TextStatistics.cs b/Assets/Scripts/Statistics/TextStatistics.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d2dff854e365897fbd32ebe636e3932d1a8d88cc
--- /dev/null
+++ b/Assets/Scripts/Statistics/TextStatistics.cs
@@ -0,0 +1,85 @@
+using System.Collections;
+using System.Collections.Generic;
+using Nightmare;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class TextStatistics : MonoBehaviour, IStatisticsData
+{
+    public static int shotsFired;
+    public static int shotsHit;
+    public static double shotAccuracy;
+    public static double distanceTraveled;
+    public static double playTime;
+    public static int highScore;
+    public static int allTimeScore;
+    public static int enemiesKilled;
+
+    private Text statistics;
+
+    void Awake()
+    {
+        TextStatistics.shotsFired = 0;
+        TextStatistics.shotsHit = 0;
+        TextStatistics.shotAccuracy = 0;
+        TextStatistics.distanceTraveled = 0;
+        TextStatistics.playTime = 0;
+        TextStatistics.highScore = 0;
+        TextStatistics.allTimeScore = 0;
+        TextStatistics.enemiesKilled = 0;
+
+        this.statistics = GetComponent<Text>();
+    }
+
+    // Start is called before the first frame update
+    void Start()
+    {
+
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        string timeText = System.TimeSpan.FromSeconds(TextStatistics.playTime).ToString("hh':'mm':'ss");
+        if (TextStatistics.shotsFired != 0)
+        {
+            TextStatistics.shotAccuracy = ((double)TextStatistics.shotsHit / TextStatistics.shotsFired) * 100;
+        }
+
+        statistics.text = "Shots Fired: " + TextStatistics.shotsFired + "\n"
+                           + "Shots Hit: " + TextStatistics.shotsHit + "\n"
+                           + "Shot Accuracy: " + TextStatistics.shotAccuracy.ToString("F2") + "%\n"
+                           + "Distance Traveled: " + (TextStatistics.distanceTraveled / 1000).ToString("F3") + "km \n"
+                           + "Play Time: " + timeText + "\n"
+                           + "High Score: " + TextStatistics.highScore + "\n"
+                           + "All Time Score: " + TextStatistics.allTimeScore + "\n"
+                           + "Enemies Killed: " + TextStatistics.enemiesKilled + "\n";
+    }
+
+
+    public void LoadStatistics(StatisticsData data)
+    {
+        TextStatistics.shotsFired = data.shotsFired;
+        TextStatistics.shotsHit = data.shotsHit;
+        TextStatistics.shotAccuracy = data.shotAccuracy;
+        TextStatistics.distanceTraveled = data.distanceTraveled;
+        TextStatistics.playTime = data.playTime;
+        TextStatistics.highScore = data.highScore;
+        TextStatistics.allTimeScore = data.allTimeScore;
+        TextStatistics.enemiesKilled = data.enemiesKilled;
+    }
+
+    public void SaveStatistics(ref StatisticsData data)
+    {
+        data.shotsFired = TextStatistics.shotsFired;
+        data.shotsHit = TextStatistics.shotsHit;
+        data.shotAccuracy = TextStatistics.shotAccuracy;
+        data.distanceTraveled = TextStatistics.distanceTraveled;
+        data.playTime = TextStatistics.playTime;
+        data.highScore = InGameTextStatistics.score > TextStatistics.highScore ? InGameTextStatistics.score : TextStatistics.highScore;
+        data.allTimeScore = TextStatistics.allTimeScore;
+        data.enemiesKilled = TextStatistics.enemiesKilled;
+    }
+
+}
diff --git a/Assets/Scripts/Statistics/TextStatistics.cs.meta b/Assets/Scripts/Statistics/TextStatistics.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..47831bcaceac021dd839c5834c5d7d806192ef75
--- /dev/null
+++ b/Assets/Scripts/Statistics/TextStatistics.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cc69dcba98fc3554b93340e3297c3255
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Weapons/DefaultGun.cs b/Assets/Scripts/Weapons/DefaultGun.cs
index dd275d14d6710fff962ff96e9961f3a60cc2e3c4..ec83cce8fb1fea0ae3052dd0dcc232518f1ec408 100644
--- a/Assets/Scripts/Weapons/DefaultGun.cs
+++ b/Assets/Scripts/Weapons/DefaultGun.cs
@@ -12,7 +12,7 @@ public class DefaultGun : Weapons
     LineRenderer gunLine;
     Light gunLight;
     Light faceLight;
-    
+
     private void Awake()
     {
         // Set up the references.
@@ -44,6 +44,10 @@ public class DefaultGun : Weapons
         shootRay.origin = transform.position;
         shootRay.direction = transform.forward;
 
+        TextStatistics.shotsFired++;
+        InGameTextStatistics.shotsFired++;
+
+
         // Perform the raycast against gameobjects on the shootable layer and if it hits something...
         if (Physics.Raycast(shootRay, out shootHit, range, shootableMask, QueryTriggerInteraction.Ignore))
         {
@@ -55,6 +59,8 @@ public class DefaultGun : Weapons
             {
                 // ... the enemy should take damage.
                 enemyHealth.TakeDamage(damagePerShot, shootHit.point);
+                TextStatistics.shotsHit++;
+                InGameTextStatistics.shotsHit++;
             }
 
             // Try and find an EnemyPetHealth script on the gameobject hit.
diff --git a/Assets/Scripts/Weapons/Shotgun.cs b/Assets/Scripts/Weapons/Shotgun.cs
index 923b41bb56ca42f3466b0f200dc9ff267f0d1f75..c365064e8ec93c7f456451912b8374f5652bbdcb 100644
--- a/Assets/Scripts/Weapons/Shotgun.cs
+++ b/Assets/Scripts/Weapons/Shotgun.cs
@@ -32,9 +32,20 @@ public class Shotgun : Weapons
         gunParticles.Stop();
         gunParticles.Play();
 
+        TextStatistics.shotsFired++;
+        InGameTextStatistics.shotsFired++;
+
+
         if (!isEnemyWeapon)
         {
             shootHit = Physics.SphereCastAll(transform.position, range, transform.forward, range, shootableMask, QueryTriggerInteraction.Ignore);
+
+            if (shootHit.Length > 0)
+            {
+                TextStatistics.shotsHit++;
+                InGameTextStatistics.shotsHit++;
+            }
+
             foreach (RaycastHit hit in shootHit)
             {
                 EnemyHealth enemyHealth = hit.collider.GetComponent<EnemyHealth>();
@@ -43,7 +54,7 @@ public class Shotgun : Weapons
                 {
                     // ... the enemy should take damage.
                     // Damage is lower the farther the enemy is.
-                    int finalDamage = Mathf.Max(10, Mathf.RoundToInt(damagePerShot - hit.distance/range*damagePerShot));
+                    int finalDamage = Mathf.Max(10, Mathf.RoundToInt(damagePerShot - hit.distance / range * damagePerShot));
                     enemyHealth.TakeDamage(finalDamage, hit.point);
                 }
 
diff --git a/Assets/ShopManager.cs b/Assets/ShopManager.cs
index 0f5c3b921ee1dcbdb50f9ca8bbfed8296280cbca..2d833d2bcad33174bb24e1a7c7b599e5d7d48030 100644
--- a/Assets/ShopManager.cs
+++ b/Assets/ShopManager.cs
@@ -82,7 +82,7 @@ public class ShopManager : MonoBehaviour {
 		else if (isAccessible && !shopPanel.activeSelf) 
 		{
 			resetCanvas();
-			showMessage("Press key E to open shop");
+			showMessage("Press key B to open shop");
 			return;
 		}   
 		else if (!isAccessible && Input.GetKeyDown(KeyCode.B)) 
diff --git a/README.md b/README.md
index 80a2f5b6e6a73692f1cc23ba46c2f4946421db64..eed86db025cf83d679b411e39e686b71356a88cd 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,7 @@
             <p><i>Extended version of Survival Shooter game from Unity tutorial</i></p>
     </div>
 </div>
+<br>
 
 <h1 align="center">Survival Shooter: The Sequel Game</h1>
 
@@ -94,20 +95,68 @@ Here's Survival Shooter The Sequel main game flows and its interface.
     <col width="49%">
     <col width="49%">
     <tr>
-        <td width="1%" align="center"><img src="./images/screenshots/Splash Screen.jpg"/></td>
-        <td width="1%" align="center"><img src="./images/screenshots/Login Page.jpg"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Main Menu.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Opening Cutscene.png"/></td>
+    </tr>
+    <tr>
+        <td width="1%" align="center">Main Menu</td>
+        <td width="1%" align="center">Opening Cutscene</td>
+    </tr>
+    <tr>
+        <td width="1%" align="center"><img src="./images/screenshots/Dialogue Cutscene.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Quest.png"/></td>
+    </tr>
+    <tr>
+        <td width="1%" align="center">Dialogue Cutscene</td>
+        <td width="1%" align="center">Quest Detail</td>
+    </tr>
+    <tr>
+        <td width="1%" align="center"><img src="./images/screenshots/Shotgun Demo.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Sword Demo.png"/></td>
+    </tr>
+    <tr>
+        <td width="1%" align="center">Shotgun Demo</td>
+        <td width="1%" align="center">Sword Demo</td>
+    </tr>
+    <tr>
+        <td width="1%" align="center"><img src="./images/screenshots/Mobs.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Orb Power Up.png"/></td>
+    </tr>
+    <tr>
+        <td width="1%" align="center">Mobs</td>
+        <td width="1%" align="center">Orb Power Up</td>
+    </tr>
+    <tr>
+        <td width="1%" align="center"><img src="./images/screenshots/Pet.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Shopkeeper.png"/></td>
+    </tr>
+    <tr>
+        <td width="1%" align="center">Pet</td>
+        <td width="1%" align="center">Shopkeeper</td>
+    </tr>
+    <tr>
+        <td width="1%" align="center"><img src="./images/screenshots/Statistics.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Cheat.png"/></td>
+    </tr>
+    <tr>
+        <td width="1%" align="center">Statistics</td>
+        <td width="1%" align="center">Cheat</td>
+    </tr>
+    <tr>
+        <td width="1%" align="center"><img src="./images/screenshots/Pause.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Game Over.png"/></td>
     </tr>
     <tr>
-        <td width="1%" align="center">Features 1</td>
-        <td width="1%" align="center">Features 2</td>
+        <td width="1%" align="center">Pause</td>
+        <td width="1%" align="center">Game Over</td>
     </tr>
     <tr>
-        <td width="1%" align="center"><img src="./images/screenshots/Splash Screen.jpg"/></td>
-        <td width="1%" align="center"><img src="./images/screenshots/Login Page.jpg"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Save Game.png"/></td>
+        <td width="1%" align="center"><img src="./images/screenshots/Quest Completed.png"/></td>
     </tr>
     <tr>
-        <td width="1%" align="center">Features 1</td>
-        <td width="1%" align="center">Features 2</td>
+        <td width="1%" align="center">Save Game</td>
+        <td width="1%" align="center">Quest Completed</td>
     </tr>
 </table>
 
diff --git a/images/screenshots/Cheat.png b/images/screenshots/Cheat.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ea6cef3bc727e4debb6e1b57b368670fa59316b
Binary files /dev/null and b/images/screenshots/Cheat.png differ
diff --git a/images/screenshots/Dialogue Cutscene.png b/images/screenshots/Dialogue Cutscene.png
new file mode 100644
index 0000000000000000000000000000000000000000..258b666f0725fff87ccac2a69752b3963312e05f
Binary files /dev/null and b/images/screenshots/Dialogue Cutscene.png differ
diff --git a/images/screenshots/Main Menu.png b/images/screenshots/Main Menu.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b8ea31327779b8faa07c816686081b57e439465
Binary files /dev/null and b/images/screenshots/Main Menu.png differ
diff --git a/images/screenshots/Mobs.png b/images/screenshots/Mobs.png
new file mode 100644
index 0000000000000000000000000000000000000000..83c8847a7212f0387982be3a0ec8ac0e94a99b1d
Binary files /dev/null and b/images/screenshots/Mobs.png differ
diff --git a/images/screenshots/Opening Cutscene.png b/images/screenshots/Opening Cutscene.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef7adc18d658357c5d129ba49768ca7650abaa1b
Binary files /dev/null and b/images/screenshots/Opening Cutscene.png differ
diff --git a/images/screenshots/Orb Power Up.png b/images/screenshots/Orb Power Up.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e1492379f2f17d0c3a3614eda90458e9a3c8211
Binary files /dev/null and b/images/screenshots/Orb Power Up.png differ
diff --git a/images/screenshots/Pause.png b/images/screenshots/Pause.png
new file mode 100644
index 0000000000000000000000000000000000000000..b70aee15c64180c5cb4b76bf8985ade4f5a5c154
Binary files /dev/null and b/images/screenshots/Pause.png differ
diff --git a/images/screenshots/Pet.png b/images/screenshots/Pet.png
new file mode 100644
index 0000000000000000000000000000000000000000..a40cfd006d0a66ec95cca50703fe84a3013406d8
Binary files /dev/null and b/images/screenshots/Pet.png differ
diff --git a/images/screenshots/Quest Completed.png b/images/screenshots/Quest Completed.png
new file mode 100644
index 0000000000000000000000000000000000000000..497f853101e5064c1f0ae538217bea93f69a6f78
Binary files /dev/null and b/images/screenshots/Quest Completed.png differ
diff --git a/images/screenshots/Quest.png b/images/screenshots/Quest.png
new file mode 100644
index 0000000000000000000000000000000000000000..bed7388e4fb80c90da9196dd5664f8e7f16463f7
Binary files /dev/null and b/images/screenshots/Quest.png differ
diff --git a/images/screenshots/Shopkeeper.png b/images/screenshots/Shopkeeper.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f9bcccb5d3234042ba62959c566d9ac10e1f0b3
Binary files /dev/null and b/images/screenshots/Shopkeeper.png differ
diff --git a/images/screenshots/Shotgun Demo.png b/images/screenshots/Shotgun Demo.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e9950a363fbcb50370bc16ce0600a1e2014070a
Binary files /dev/null and b/images/screenshots/Shotgun Demo.png differ
diff --git a/images/screenshots/Sword Demo.png b/images/screenshots/Sword Demo.png
new file mode 100644
index 0000000000000000000000000000000000000000..21101cab8d6d3e2dd44e6e658f5a1272c1442f10
Binary files /dev/null and b/images/screenshots/Sword Demo.png differ