diff --git a/Assets/Audio/Effects/GameOver.mp3 b/Assets/Audio/Effects/GameOver.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..92fe6247fb6851502533aa1858f7136d1a4584e3
--- /dev/null
+++ b/Assets/Audio/Effects/GameOver.mp3
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eb83d906d5ba94a943c2939a9be2ab13a419e14d25e5c4c2f76e7a173b39a2b2
+size 130961
diff --git a/Assets/Audio/Effects/PlayerWalking.mp3.meta b/Assets/Audio/Effects/GameOver.mp3.meta
similarity index 91%
rename from Assets/Audio/Effects/PlayerWalking.mp3.meta
rename to Assets/Audio/Effects/GameOver.mp3.meta
index 43fcf00f622c6a13d8f45c4e22dc6425a356c0e6..cce2e647421826c514b2e37ed770831d9da77f03 100644
--- a/Assets/Audio/Effects/PlayerWalking.mp3.meta
+++ b/Assets/Audio/Effects/GameOver.mp3.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 7bc5171ae192e0845a7d0057d5945ef7
+guid: 8d70cf2a6e18357419c92cb875f95d54
 AudioImporter:
   externalObjects: {}
   serializedVersion: 7
diff --git a/Assets/Audio/Effects/KerocoAttack.mp3 b/Assets/Audio/Effects/KerocoAttack.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..a463efd18c4519b1bac4f35afddd5a58579431dd
--- /dev/null
+++ b/Assets/Audio/Effects/KerocoAttack.mp3
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f5a605434f5c8efbf38b752ffedd8f5f7be10064f66bb6ffaf358e40294a1fb2
+size 42240
diff --git a/Assets/Audio/Effects/KerocoAttack.mp3.meta b/Assets/Audio/Effects/KerocoAttack.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6ab0b8af43e7e75bbf0181657e4b4c3dcd0de72f
--- /dev/null
+++ b/Assets/Audio/Effects/KerocoAttack.mp3.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 9adee4b2a70b7614196bb6a4ac0e3eca
+AudioImporter:
+  externalObjects: {}
+  serializedVersion: 7
+  defaultSettings:
+    serializedVersion: 2
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+    preloadAudioData: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  loadInBackground: 0
+  ambisonic: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Audio/Effects/PlayerWalking.mp3 b/Assets/Audio/Effects/PlayerWalking.mp3
deleted file mode 100644
index ad3eeefbf144a853836de5afae37d6bb3169a449..0000000000000000000000000000000000000000
--- a/Assets/Audio/Effects/PlayerWalking.mp3
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9efb0ca21d180b251fe49fe73cca08091ebeabc29a4fe3ea2d21c5ae41404727
-size 127680
diff --git a/Assets/Audio/Effects/PlayerWalking.wav b/Assets/Audio/Effects/PlayerWalking.wav
new file mode 100644
index 0000000000000000000000000000000000000000..51d35ffce3b750ff853e7678a7875cb8ba3c10c1
--- /dev/null
+++ b/Assets/Audio/Effects/PlayerWalking.wav
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8df1ee4133fc84fc985b3d768c22d167d6eab3cdda7e11231ad21e5afdd555c6
+size 1438600
diff --git a/Assets/Audio/Effects/PlayerWalking.wav.meta b/Assets/Audio/Effects/PlayerWalking.wav.meta
new file mode 100644
index 0000000000000000000000000000000000000000..7fb792dfe6466c947547be5955fe9a9cae366e37
--- /dev/null
+++ b/Assets/Audio/Effects/PlayerWalking.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: e3e15cd03d8218442a2109470ddcfbf1
+AudioImporter:
+  externalObjects: {}
+  serializedVersion: 7
+  defaultSettings:
+    serializedVersion: 2
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+    preloadAudioData: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  loadInBackground: 0
+  ambisonic: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Audio/Effects/Reload.mp3 b/Assets/Audio/Effects/Reload.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..2727856a21b022abf630d4e3d19f31701160b29b
--- /dev/null
+++ b/Assets/Audio/Effects/Reload.mp3
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3cf5150ecdc6647f2090d77d88753cc1fc1a6cabd6fd5322a2730b5c83c0406d
+size 43610
diff --git a/Assets/Audio/Effects/Reload.mp3.meta b/Assets/Audio/Effects/Reload.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..2acfed2524cc1504670e598bd9b640da0366bfae
--- /dev/null
+++ b/Assets/Audio/Effects/Reload.mp3.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: e558b838e86de3e41bb7d7fdfd763433
+AudioImporter:
+  externalObjects: {}
+  serializedVersion: 7
+  defaultSettings:
+    serializedVersion: 2
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+    preloadAudioData: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  loadInBackground: 0
+  ambisonic: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Audio/Effects/StageGateOpen.mp3 b/Assets/Audio/Effects/StageGateOpen.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..e2ad254a88635e3dc24937bda28333b2549ef9d3
--- /dev/null
+++ b/Assets/Audio/Effects/StageGateOpen.mp3
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:35156067e4fac8446524ae6d1d57380ab256d56888b104338d736f0b70a7a207
+size 178992
diff --git a/Assets/Audio/Effects/StageGateOpen.mp3.meta b/Assets/Audio/Effects/StageGateOpen.mp3.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bd9180a2651c3c190c01f6770d56f408fde32b20
--- /dev/null
+++ b/Assets/Audio/Effects/StageGateOpen.mp3.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 4180cb94f640cb142a68e726710399be
+AudioImporter:
+  externalObjects: {}
+  serializedVersion: 7
+  defaultSettings:
+    serializedVersion: 2
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+    preloadAudioData: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  loadInBackground: 0
+  ambisonic: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/InitialStage.unity b/Assets/Scenes/InitialStage.unity
index 24ed9672c37203772661752d2ab88940367e43d8..26af4a05c73a865f9a127f03821335c1df11491e 100644
--- a/Assets/Scenes/InitialStage.unity
+++ b/Assets/Scenes/InitialStage.unity
@@ -38,7 +38,7 @@ RenderSettings:
   m_ReflectionIntensity: 1
   m_CustomReflection: {fileID: 0}
   m_Sun: {fileID: 1610145832}
-  m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+  m_IndirectSpecularColor: {r: 0.10502498, g: 0.13485196, b: 0.1344606, a: 1}
   m_UseRadianceAmbientProbe: 0
 --- !u!157 &4
 LightmapSettings:
@@ -18982,6 +18982,11 @@ PrefabInstance:
       propertyPath: gameOverText
       value: 
       objectReference: {fileID: 417251660}
+    - target: {fileID: 82616962848050741, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
+        type: 3}
+      propertyPath: FadeOutCanvas
+      value: 
+      objectReference: {fileID: 1569198931}
     - target: {fileID: 82616962848050741, guid: 51cde55a2a5a5c3448cd8df1ab6225dd,
         type: 3}
       propertyPath: enemiesKilled
@@ -27060,6 +27065,169 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 236231240}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &1569198931
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1569198938}
+  - component: {fileID: 1569198937}
+  - component: {fileID: 1569198936}
+  - component: {fileID: 1569198935}
+  - component: {fileID: 1569198934}
+  - component: {fileID: 1569198933}
+  - component: {fileID: 1569198932}
+  m_Layer: 5
+  m_Name: FadeOut
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!95 &1569198932
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 77d810e151cf1b843b841ae5fc4e3b67, type: 2}
+  m_CullingMode: 0
+  m_UpdateMode: 0
+  m_ApplyRootMotion: 0
+  m_LinearVelocityBlending: 0
+  m_StabilizeFeet: 0
+  m_WarningMessage: 
+  m_HasTransformHierarchy: 1
+  m_AllowConstantClipSamplingOptimization: 1
+  m_KeepAnimatorStateOnDisable: 0
+  m_WriteDefaultValuesOnDisable: 0
+--- !u!114 &1569198933
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  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, g: 0, b: 0, 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: 0}
+  m_Type: 0
+  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 &1569198934
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  m_CullTransparentMesh: 1
+--- !u!114 &1569198935
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  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 &1569198936
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!223 &1569198937
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  m_Enabled: 1
+  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: 0
+  m_UpdateRectTransformForStandalone: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &1569198938
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1569198931}
+  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: []
+  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!1 &1570661766
 GameObject:
   m_ObjectHideFlags: 0
@@ -37121,4 +37289,5 @@ SceneRoots:
   - {fileID: 673463553}
   - {fileID: 3430071858454212807}
   - {fileID: 700541618}
+  - {fileID: 1569198938}
   - {fileID: 1433040718}
diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity
index c4c8a5dcd1f93cc0944a4564dc1276dbfae9054d..e05543e1440df8b21a2f4dda4ca4d39543903eec 100644
--- a/Assets/Scenes/MainMenu.unity
+++ b/Assets/Scenes/MainMenu.unity
@@ -5770,7 +5770,7 @@ AudioSource:
   m_PlayOnAwake: 1
   m_Volume: 1
   m_Pitch: 1
-  Loop: 0
+  Loop: 1
   Mute: 0
   Spatialize: 0
   SpatializePostEffects: 0
@@ -6136,6 +6136,134 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1035812643}
   m_CullTransparentMesh: 1
+--- !u!1 &1065634208
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1065634210}
+  - component: {fileID: 1065634209}
+  m_Layer: 0
+  m_Name: Player SFX Source
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!82 &1065634209
+AudioSource:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1065634208}
+  m_Enabled: 1
+  serializedVersion: 4
+  OutputAudioMixerGroup: {fileID: 0}
+  m_audioClip: {fileID: 0}
+  m_PlayOnAwake: 1
+  m_Volume: 1
+  m_Pitch: 1
+  Loop: 0
+  Mute: 0
+  Spatialize: 0
+  SpatializePostEffects: 0
+  Priority: 128
+  DopplerLevel: 1
+  MinDistance: 1
+  MaxDistance: 500
+  Pan2D: 0
+  rolloffMode: 0
+  BypassEffects: 0
+  BypassListenerEffects: 0
+  BypassReverbZones: 0
+  rolloffCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    - serializedVersion: 3
+      time: 1
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  panLevelCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  spreadCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 0
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+  reverbZoneMixCustomCurve:
+    serializedVersion: 2
+    m_Curve:
+    - serializedVersion: 3
+      time: 0
+      value: 1
+      inSlope: 0
+      outSlope: 0
+      tangentMode: 0
+      weightedMode: 0
+      inWeight: 0.33333334
+      outWeight: 0.33333334
+    m_PreInfinity: 2
+    m_PostInfinity: 2
+    m_RotationOrder: 4
+--- !u!4 &1065634210
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1065634208}
+  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: 1196416683}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1067131836
 GameObject:
   m_ObjectHideFlags: 0
@@ -7094,6 +7222,8 @@ MonoBehaviour:
     clip: {fileID: 8300000, guid: 2cdc839e83c059143877eaa41d3af757, type: 3}
   - name: Stage
     clip: {fileID: 8300000, guid: ec63382be8c7ec743b171a0dc777d134, type: 3}
+  - name: Safehouse
+    clip: {fileID: 8300000, guid: a0d8574371bc61745828d0d989d84525, type: 3}
   sfxSounds:
   - name: OceanAmbience
     clip: {fileID: 8300000, guid: 20b7f9ab362cd9141a1534895361b4b0, type: 3}
@@ -7103,8 +7233,20 @@ MonoBehaviour:
     clip: {fileID: 8300000, guid: b8654be2210e6b747a8e874def97db7b, type: 3}
   - name: OrbPickUp
     clip: {fileID: 8300000, guid: a4a9327e98855524c846cc8e2f559e96, type: 3}
+  - name: Reload
+    clip: {fileID: 8300000, guid: e558b838e86de3e41bb7d7fdfd763433, type: 3}
+  - name: GateOpen
+    clip: {fileID: 8300000, guid: 4180cb94f640cb142a68e726710399be, type: 3}
+  - name: KerocoAttack
+    clip: {fileID: 8300000, guid: 9adee4b2a70b7614196bb6a4ac0e3eca, type: 3}
+  - name: GameOver
+    clip: {fileID: 8300000, guid: 8d70cf2a6e18357419c92cb875f95d54, type: 3}
+  playerSFXSounds:
+  - name: Walk
+    clip: {fileID: 8300000, guid: e3e15cd03d8218442a2109470ddcfbf1, type: 3}
   musicSource: {fileID: 1017079008}
   sfxSource: {fileID: 47066810}
+  playerSFXSource: {fileID: 1065634209}
   sfxGlobalVolume: 1
 --- !u!4 &1196416683
 Transform:
@@ -7121,6 +7263,7 @@ Transform:
   m_Children:
   - {fileID: 1017079009}
   - {fileID: 47066811}
+  - {fileID: 1065634210}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1203143355
diff --git a/Assets/Script/Audio/AudioManager.cs b/Assets/Script/Audio/AudioManager.cs
index c5171abd5f36556adac021b6858b74706fb22d13..b99e94e52b9fc7eae06a045ca3a6f7fec5631573 100644
--- a/Assets/Script/Audio/AudioManager.cs
+++ b/Assets/Script/Audio/AudioManager.cs
@@ -7,8 +7,8 @@ public class AudioManager : MonoBehaviour
 {
     public static AudioManager instance;
 
-    public Sound[] musicSounds, sfxSounds;
-    public AudioSource musicSource, sfxSource;
+    public Sound[] musicSounds, sfxSounds, playerSFXSounds;
+    public AudioSource musicSource, sfxSource, playerSFXSource;
 
     public float sfxGlobalVolume = 1f;
 
@@ -147,6 +147,23 @@ public class AudioManager : MonoBehaviour
         Destroy(tempAudio, s.clip.length + 0.1f);
     }
 
+    public void PlayPlayerSFX(string name)
+    {
+        Sound s = Array.Find(playerSFXSounds, sound => sound.name == name);
+        if (s == null)
+        {
+            Debug.LogWarning("Sound: " + name + " not found!");
+            return;
+        }
+
+        playerSFXSource.PlayOneShot(s.clip);
+    }
+
+    public void StopPlayerSFX()
+    {
+        playerSFXSource.Stop();
+    }
+
     public void MusicVolume(float volume)
     {
         musicSource.volume = volume;
@@ -156,5 +173,6 @@ public class AudioManager : MonoBehaviour
     {
         sfxGlobalVolume = Mathf.Clamp01(volume);
         sfxSource.volume = sfxGlobalVolume;
+        playerSFXSource.volume = sfxGlobalVolume;
     }
 }
\ No newline at end of file
diff --git a/Assets/Script/Bot/Enemy/Slave/SlaveAttackState.cs b/Assets/Script/Bot/Enemy/Slave/SlaveAttackState.cs
index 641f3c3317d14e3199dc4feb9d236a2ac1f60ffb..824731ca97488047f6dfbb863473740f0131b5a3 100644
--- a/Assets/Script/Bot/Enemy/Slave/SlaveAttackState.cs
+++ b/Assets/Script/Bot/Enemy/Slave/SlaveAttackState.cs
@@ -15,6 +15,11 @@ public class SlaveAttackState : StateMachineBehaviour
         player = GameObject.FindGameObjectWithTag("Player").transform;
         agent = animator.GetComponent<NavMeshAgent>();
         GameObject.FindGameObjectWithTag("SlaveHand").gameObject.GetComponent<Collider>().enabled = true;
+
+        if (!player.gameObject.GetComponent<PlayerHealth>().isDead)
+        {
+            AudioManager.instance.PlaySoundAtPosition("KerocoAttack", agent.transform.position);
+        }
     }
 
     override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
diff --git a/Assets/Script/Menu/GameOver.cs b/Assets/Script/Menu/GameOver.cs
index 673524f4bf9646074964f515456f590b550d7086..27557c71fc9680c340b3de7b1b027378f813ff18 100644
--- a/Assets/Script/Menu/GameOver.cs
+++ b/Assets/Script/Menu/GameOver.cs
@@ -24,6 +24,8 @@ public class GameOver : MonoBehaviour
     public TextMeshProUGUI distance;
     public TextMeshProUGUI playTime;
 
+    public GameObject FadeOutCanvas;
+
     void Update()
     {
         gold.text = GlobalPreference.Instance.GetPlayerGold().ToString();
@@ -32,8 +34,20 @@ public class GameOver : MonoBehaviour
 
         damageDealt.text = GlobalPreference.Instance.GetDamageDealt().ToString();
 
-        float accuracyValue = (GlobalPreference.Instance.GetBulletHit() / GlobalPreference.Instance.GetBulletShot()) * 100;
-        string formattedAccuracy = accuracyValue.ToString("F2") + "%";
+        float bulletShot = GlobalPreference.Instance.GetBulletShot();
+        float bulletHit = GlobalPreference.Instance.GetBulletHit();
+        float accuracyValue;
+        string formattedAccuracy;
+        if (bulletShot > 0)
+        {
+            accuracyValue = (bulletHit / (float)bulletShot) * 100;
+            formattedAccuracy = accuracyValue.ToString("F2") + "%";
+        }
+        else
+        {
+            formattedAccuracy = "0%";
+        }
+
         accuracy.text = formattedAccuracy;
 
         float distanceInKm = GlobalPreference.Instance.GetDistanceTraveled() / 1000;
@@ -48,8 +62,16 @@ public class GameOver : MonoBehaviour
         playTime.text = string.Format("{0:D2}:{1:D2}:{2:D2}", hours, minutes, seconds);
     }
 
+    public IEnumerator MusicTransition()
+    {
+        AudioManager.instance.StopMusic();
+        yield return new WaitForSeconds(2f);
+        AudioManager.instance.PlaySFX("GameOver");
+    }
+
     public void StartFade()
     {
+        StartCoroutine(MusicTransition());
         StartCoroutine(FadeOut());
         StartCoroutine(GoToMainMenu());
     }
@@ -65,7 +87,7 @@ public class GameOver : MonoBehaviour
             yield return new WaitForSeconds(1f);
         }
 
-        SceneManager.LoadScene(0);
+        BackToMainMenu();
     }
         
     private IEnumerator FadeOut()
@@ -83,11 +105,19 @@ public class GameOver : MonoBehaviour
 
     public void BackToMainMenu()
     {
-        SceneManager.LoadScene(0);
+        FadeOutCanvas.SetActive(true);
+        StartCoroutine(Delay(0));
     }
 
     public void ReplayGame()
     {
-        SceneManager.LoadScene(1);
+        FadeOutCanvas.SetActive(true);
+        StartCoroutine(Delay(1));
+    }
+
+    private IEnumerator Delay(int scene)
+    {
+        yield return new WaitForSeconds(2);
+        SceneManager.LoadScene(scene);
     }
 }
diff --git a/Assets/Script/Menu/StatisticsMenu.cs b/Assets/Script/Menu/StatisticsMenu.cs
index 91ecf30c99e1cb47ccfe4712e4ca42845a472678..40275c8deeacb3480399968d53a03c62f7f86250 100644
--- a/Assets/Script/Menu/StatisticsMenu.cs
+++ b/Assets/Script/Menu/StatisticsMenu.cs
@@ -20,8 +20,19 @@ public class StatisticsMenu : MonoBehaviour
 
         damageDealt.text = PlayerPrefs.GetFloat("Damage").ToString();
 
-        float accuracyValue = (PlayerPrefs.GetFloat("BulletHit") / PlayerPrefs.GetFloat("BulletShot")) * 100;
-        string formattedAccuracy = accuracyValue.ToString("F2") + "%";
+        float bulletShot = PlayerPrefs.GetFloat("BulletShot");
+        float bulletHit = PlayerPrefs.GetFloat("BulletHit");
+        float accuracyValue;
+        string formattedAccuracy;
+        if (bulletShot > 0)
+        {
+            accuracyValue = (bulletHit / bulletShot) * 100;
+            formattedAccuracy = accuracyValue.ToString("F2") + "%";
+        }
+        else
+        {
+            formattedAccuracy = "0%";
+        }
         accuracy.text = formattedAccuracy;
 
         float distanceInKm = PlayerPrefs.GetFloat("Distance") / 1000;
diff --git a/Assets/Script/Player/PlayerMotor.cs b/Assets/Script/Player/PlayerMotor.cs
index d15bd69426451782b9b3d9602d3504e43b449a9e..f3658e02c7f7f4580c3c9b3ac7f80328cd87030b 100644
--- a/Assets/Script/Player/PlayerMotor.cs
+++ b/Assets/Script/Player/PlayerMotor.cs
@@ -14,6 +14,8 @@ public class PlayerMotor : MonoBehaviour
 
     private bool isSprint;
     public float distanceTraveled = 0;
+    public bool isWalking = false;
+    private float timeSinceLastStep = 0f;
 
     // Start is called before the first frame update
     void Start()
@@ -40,7 +42,22 @@ public class PlayerMotor : MonoBehaviour
         {
             DisableSprint();
         }
-        
+
+        if (isWalking)
+        {
+            timeSinceLastStep -= Time.deltaTime;
+
+            if (timeSinceLastStep <= 0f)
+            {
+                timeSinceLastStep = 8f;
+                AudioManager.instance.PlayPlayerSFX("Walk");
+            }
+        }
+        else
+        {
+            timeSinceLastStep = 0f;
+            AudioManager.instance.StopPlayerSFX();
+        }
     }
     //receive input from inputmanager
     public void ProcessMove(Vector2 input)
@@ -48,6 +65,7 @@ public class PlayerMotor : MonoBehaviour
         Vector3 moveDirection = Vector3.zero;
         moveDirection.x = input.x;
         moveDirection.z = input.y;
+        isWalking = moveDirection.magnitude > 0;
         characterController.Move(transform.TransformDirection(moveDirection) * speed * Time.deltaTime);
         playerVelocity.y += gravity * Time.deltaTime;
         if (isGrounded && playerVelocity.y < 0) { 
diff --git a/Assets/Script/Weapon/GunSystem.cs b/Assets/Script/Weapon/GunSystem.cs
index 83bf21a378c629384d2c0f1910891fd0388bf1cf..f876ccfa1fd358457b76ca1c95db4080e715051a 100644
--- a/Assets/Script/Weapon/GunSystem.cs
+++ b/Assets/Script/Weapon/GunSystem.cs
@@ -207,6 +207,7 @@ public class GunSystem : MonoBehaviour
     {
         cam.GetComponentInParent<Animator>().SetTrigger("Reload");
         reloading = true;
+        AudioManager.instance.PlaySFX("Reload");
         Invoke("ReloadFinished", reloadTime);
     }