diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini
index 5b7cca1..05a1a08 100644
--- a/Config/DefaultInput.ini
+++ b/Config/DefaultInput.ini
@@ -86,6 +86,8 @@
 +ActionMappings=(ActionName="Ability",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftShift)
 +ActionMappings=(ActionName="Ability",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_FaceButton_Right)
 +ActionMappings=(ActionName="GetDamaged",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=P)
++ActionMappings=(ActionName="ResetCamera",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R)
++ActionMappings=(ActionName="ResetCamera",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_RightThumbstick)
 +AxisMappings=(AxisName="Roll",Scale=1.000000,Key=Q)
 +AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=W)
 +AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=D)
@@ -96,6 +98,10 @@
 +AxisMappings=(AxisName="MoveForward",Scale=1.000000,Key=Gamepad_LeftY)
 +AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=Gamepad_RightShoulder)
 +AxisMappings=(AxisName="MoveRight",Scale=-1.000000,Key=Gamepad_LeftShoulder)
++AxisMappings=(AxisName="CameraInputsY",Scale=1.000000,Key=MouseY)
++AxisMappings=(AxisName="CameraInputsY",Scale=1.000000,Key=Gamepad_RightY)
++AxisMappings=(AxisName="CameraInputsX",Scale=1.000000,Key=Gamepad_RightX)
++AxisMappings=(AxisName="CameraInputsX",Scale=1.000000,Key=MouseX)
 DefaultPlayerInputClass=/Script/Engine.PlayerInput
 DefaultInputComponentClass=/Script/Engine.InputComponent
 DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
diff --git a/Content/Assets/Items/MagneticShield_BP.uasset b/Content/Assets/Items/MagneticShield_BP.uasset
new file mode 100644
index 0000000..e6ea81e
--- /dev/null
+++ b/Content/Assets/Items/MagneticShield_BP.uasset
Binary files differ
diff --git a/Content/Assets/Items/RepairKit_BP.uasset b/Content/Assets/Items/RepairKit_BP.uasset
new file mode 100644
index 0000000..9715730
--- /dev/null
+++ b/Content/Assets/Items/RepairKit_BP.uasset
Binary files differ
diff --git a/Content/Assets/NormieAsset/NormiePawn_BP.uasset b/Content/Assets/NormieAsset/NormiePawn_BP.uasset
deleted file mode 100644
index 91f5d19..0000000
--- a/Content/Assets/NormieAsset/NormiePawn_BP.uasset
+++ /dev/null
Binary files differ
diff --git a/Content/Assets/NormieAsset/NormieTestStaticMesh.uasset b/Content/Assets/NormieAsset/NormieTestStaticMesh.uasset
index 06b54f6..906abbf 100644
--- a/Content/Assets/NormieAsset/NormieTestStaticMesh.uasset
+++ b/Content/Assets/NormieAsset/NormieTestStaticMesh.uasset
Binary files differ
diff --git a/Content/Assets/NormieAsset/Test_anim.uasset b/Content/Assets/NormieAsset/Test_anim.uasset
index d830824..bd660bc 100644
--- a/Content/Assets/NormieAsset/Test_anim.uasset
+++ b/Content/Assets/NormieAsset/Test_anim.uasset
Binary files differ
diff --git a/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/BP_West_Fighter_Typhoon.uasset b/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/BP_West_Fighter_Typhoon.uasset
index 1816cdf..51b8e2b 100644
--- a/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/BP_West_Fighter_Typhoon.uasset
+++ b/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/BP_West_Fighter_Typhoon.uasset
Binary files differ
diff --git a/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/FX/NS_West_Fighter_Typhoon_Jet.uasset b/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/FX/NS_West_Fighter_Typhoon_Jet.uasset
index b1665ac..db9325c 100644
--- a/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/FX/NS_West_Fighter_Typhoon_Jet.uasset
+++ b/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/FX/NS_West_Fighter_Typhoon_Jet.uasset
Binary files differ
diff --git a/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/SK_West_Fighter_Typhoon.uasset b/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/SK_West_Fighter_Typhoon.uasset
index 5f51593..cc08e82 100644
--- a/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/SK_West_Fighter_Typhoon.uasset
+++ b/Content/Assets/NormieAsset/VigilanteContent/Vehicles/West_Fighter_Typhoon/SK_West_Fighter_Typhoon.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Explosion/Material/MissileExplosion.uasset b/Content/Assets/Projectiles/Explosion/Material/MissileExplosion.uasset
new file mode 100644
index 0000000..e5aa4ca
--- /dev/null
+++ b/Content/Assets/Projectiles/Explosion/Material/MissileExplosion.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Explosion/Material/ParticleMissile.uasset b/Content/Assets/Projectiles/Explosion/Material/ParticleMissile.uasset
new file mode 100644
index 0000000..4ef35f9
--- /dev/null
+++ b/Content/Assets/Projectiles/Explosion/Material/ParticleMissile.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Explosion/Material/T_Smoke.uasset b/Content/Assets/Projectiles/Explosion/Material/T_Smoke.uasset
new file mode 100644
index 0000000..164bc74
--- /dev/null
+++ b/Content/Assets/Projectiles/Explosion/Material/T_Smoke.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Explosion/Material/T_SmokeNoise.uasset b/Content/Assets/Projectiles/Explosion/Material/T_SmokeNoise.uasset
new file mode 100644
index 0000000..ea9f4e8
--- /dev/null
+++ b/Content/Assets/Projectiles/Explosion/Material/T_SmokeNoise.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/BP_East_Missile_P270.uasset b/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/BP_East_Missile_P270.uasset
index f7b8d1d..d6829e6 100644
--- a/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/BP_East_Missile_P270.uasset
+++ b/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/BP_East_Missile_P270.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/MOdified.uasset b/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/MOdified.uasset
new file mode 100644
index 0000000..d4cb414
--- /dev/null
+++ b/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/MOdified.uasset
Binary files differ
diff --git a/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/NS_P-720_jet.uasset b/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/NS_P-720_jet.uasset
index c9204a0..3d4563b 100644
--- a/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/NS_P-720_jet.uasset
+++ b/Content/Assets/Projectiles/Missile/VigilanteContent/Projectiles/East_Missile_P270/FX/NS_P-720_jet.uasset
Binary files differ
diff --git a/Content/Levels/Sergio_Level.umap b/Content/Levels/Sergio_Level.umap
index 8d2aeab..3036d45 100644
--- a/Content/Levels/Sergio_Level.umap
+++ b/Content/Levels/Sergio_Level.umap
Binary files differ
diff --git a/Content/Levels/test_idk.umap b/Content/Levels/test_idk.umap
index d9573c9..43db57f 100644
--- a/Content/Levels/test_idk.umap
+++ b/Content/Levels/test_idk.umap
Binary files differ
diff --git a/Content/PlaneTest/BulletsMaterial.uasset b/Content/PlaneTest/BulletsMaterial.uasset
new file mode 100644
index 0000000..9687647
--- /dev/null
+++ b/Content/PlaneTest/BulletsMaterial.uasset
Binary files differ
diff --git a/Content/PlaneTest/BulletsMaterial_MachineGun.uasset b/Content/PlaneTest/BulletsMaterial_MachineGun.uasset
new file mode 100644
index 0000000..16aefb5
--- /dev/null
+++ b/Content/PlaneTest/BulletsMaterial_MachineGun.uasset
Binary files differ
diff --git a/Content/PlaneTest/Missile.uasset b/Content/PlaneTest/Missile.uasset
index bae5632..aa593b5 100644
--- a/Content/PlaneTest/Missile.uasset
+++ b/Content/PlaneTest/Missile.uasset
Binary files differ
diff --git a/Content/PlaneTest/Projectile_BP.uasset b/Content/PlaneTest/Projectile_BP.uasset
index f524cb6..c797cc7 100644
--- a/Content/PlaneTest/Projectile_BP.uasset
+++ b/Content/PlaneTest/Projectile_BP.uasset
Binary files differ
diff --git a/Content/PlaneTest/Targets_BP.uasset b/Content/PlaneTest/Targets_BP.uasset
index 785fadc..9f920bb 100644
--- a/Content/PlaneTest/Targets_BP.uasset
+++ b/Content/PlaneTest/Targets_BP.uasset
Binary files differ
diff --git a/Source/SkyFrontier/Private/HealthSystem.cpp b/Source/SkyFrontier/Private/HealthSystem.cpp
index 57bfd33..59e7244 100644
--- a/Source/SkyFrontier/Private/HealthSystem.cpp
+++ b/Source/SkyFrontier/Private/HealthSystem.cpp
@@ -1,9 +1,9 @@
 // Fill out your copyright notice in the Description page of Project Settings.
 
 
-	#include "HealthSystem.h"
+#include "HealthSystem.h"
 
-	UHealthSystem::UHealthSystem()
+UHealthSystem::UHealthSystem()
 {
 	// This is a component that doesn't need a tick so lets disable it
 	PrimaryComponentTick.bCanEverTick = false;
@@ -13,8 +13,10 @@
 void UHealthSystem::BeginPlay()
 {
 	Super::BeginPlay();
-	// This is here for now, but if you ever do anything serialization related you might not want this.
+
+	MaxHealth = 100;
 	Health = MaxHealth;
+	Shield = 0;
 }
 
 float UHealthSystem::GetHealth() const
@@ -32,6 +34,11 @@
 	return Health / MaxHealth;
 }
 
+float UHealthSystem::GetShield() const
+{
+	return Shield;
+}
+
 void UHealthSystem::ModifyHealth(const float Amount)
 {
 	if(Amount == 0)
@@ -51,13 +58,41 @@
 		OnDamageTakenEvent.Broadcast(Amount);
 	}
 }
-
+ 
 void UHealthSystem::RecoverHealth(const float Amount)
 {
 	if(Amount > 0)
 	{
 		Health += Amount;
-
+		if (Health >= MaxHealth)
+		{
+			Health = MaxHealth;
+		}
+		
 		OnDamageHealedEvent.Broadcast(Amount);
 	}
+}
+
+void UHealthSystem::ReceiveShield(const float Amount)
+{
+	if(Amount >= 0)
+	{
+		Shield += Amount;
+	
+		OnShieldReceiveEvent.Broadcast(Amount);
+	}
+}
+
+void UHealthSystem::RemoveShield(const float Amount)
+{
+	if(Amount >= 0)
+	{
+		Shield -= Amount;
+		
+		if (Shield < 0)
+		{
+			Shield = 0;
+		}
+		OnShieldReceiveEvent.Broadcast(Amount);
+	}
 }
\ No newline at end of file
diff --git a/Source/SkyFrontier/Public/HealthSystem.h b/Source/SkyFrontier/Public/HealthSystem.h
index e33e708..3f5377b 100644
--- a/Source/SkyFrontier/Public/HealthSystem.h
+++ b/Source/SkyFrontier/Public/HealthSystem.h
@@ -1,15 +1,16 @@
 // Fill out your copyright notice in the Description page of Project Settings.
 
-	#pragma once
+#pragma once
 
-	#include "CoreMinimal.h"
-	#include "Components/ActorComponent.h"
-	#include "HealthSystem.generated.h"
+#include "CoreMinimal.h"
+#include "Components/ActorComponent.h"
+#include "HealthSystem.generated.h"
 
-	DECLARE_EVENT_OneParam(UCPP_HealthComponent, DamageTakenEvent, float )
-	DECLARE_EVENT_OneParam(UCPP_HealthComponent, HealDamageEvent, float )
+DECLARE_EVENT_OneParam(UCPP_HealthComponent, DamageTakenEvent, float )
+DECLARE_EVENT_OneParam(UCPP_HealthComponent, HealDamageEvent, float )
+DECLARE_EVENT_OneParam(UCPP_HealthComponent, ShieldReceiveEvent, float )
 
-	UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
+UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
 class SKYFRONTIER_API UHealthSystem : public UActorComponent
 {
 	GENERATED_BODY()
@@ -24,6 +25,8 @@
 	float GetMaxHealth() const;
 	UFUNCTION(BlueprintPure)
 	float GetHealthAsPercentage() const;
+	UFUNCTION(BlueprintPure)
+	float GetShield() const;
 
 	UFUNCTION(BlueprintCallable)
 	void ModifyHealth(float Amount);
@@ -32,6 +35,10 @@
 	void TakeDamage(float Amount);
 	UFUNCTION(BlueprintCallable)
 	void RecoverHealth(float Amount);
+	UFUNCTION(BlueprintCallable)
+	void ReceiveShield(float Amount);
+	UFUNCTION(BlueprintCallable)
+	void RemoveShield(float Amount);
 
 protected: // Functions
 
@@ -41,6 +48,7 @@
 
 	DamageTakenEvent OnDamageTakenEvent;
 	HealDamageEvent OnDamageHealedEvent;
+	ShieldReceiveEvent OnShieldReceiveEvent;
 
 private: // This can be protected if we want to subclass the Health Component
 
@@ -48,5 +56,7 @@
 	float Health;
 	UPROPERTY(EditAnywhere)
 	float MaxHealth;
-		
-};
\ No newline at end of file
+	UPROPERTY(VisibleAnywhere)
+	float Shield;
+
+};