diff --git a/MrBigsock/Assets/Code/EmptyCollider.cs b/MrBigsock/Assets/Code/EmptyCollider.cs
index c30a174629353474d63972b598b4cfe8210d7981..0198f138d494d08a94670026810e8f44d00dbba0 100644
--- a/MrBigsock/Assets/Code/EmptyCollider.cs
+++ b/MrBigsock/Assets/Code/EmptyCollider.cs
@@ -12,7 +12,7 @@ namespace BigSock {
 	
 			private void OnTriggerEnter2D(Collider2D other)
 			{
-					Debug.Log("enter");
+					//Debug.Log("enter");
 					OnColliderEnter2D_Action?.Invoke(other);
 			}
 
@@ -23,7 +23,7 @@ namespace BigSock {
 
 			private void OnTriggerExit2D(Collider2D other)
 			{
-					Debug.Log("exit");
+					//Debug.Log("exit");
 					OnColliderExit2D_Action?.Invoke(other);
 			}
 	}
diff --git a/MrBigsock/Assets/Code/attack/AttackMovement.cs b/MrBigsock/Assets/Code/attack/AttackMovement.cs
index c6daed42bfcd9959bf04764eb90446fe8ee480b0..5855e8818f52c2aa69b9e8fe08c792aba34167f3 100644
--- a/MrBigsock/Assets/Code/attack/AttackMovement.cs
+++ b/MrBigsock/Assets/Code/attack/AttackMovement.cs
@@ -12,6 +12,12 @@ namespace BigSock {
 		bool moved = false;
 		Vector3 direction;
 
+		/*
+			Damage of the character.
+		*/
+		public double Damage => baseDamage;
+		public double baseDamage = 1;
+
 		// Start is called before the first frame update
 		void Start()
 		{
@@ -35,5 +41,21 @@ namespace BigSock {
 			transform.Translate(direction * speed * Time.deltaTime);
 				
 		}
+		
+		
+		void OnCollisionEnter2D(Collision2D collision)
+		{
+			print($"[AttackMovement.OnCollisionEnter2D()] {collision.transform.position}");
+			var target = collision.gameObject.GetComponent<EnemyController>();
+
+			if(target != null){
+				if(target.TakeDamage(Damage)){
+					
+				}
+			} 
+		}
+
+
+
 	}
 }
\ No newline at end of file
diff --git a/MrBigsock/Assets/Code/orc/EnemyController.cs b/MrBigsock/Assets/Code/orc/EnemyController.cs
index ec6f25febdc3a9dfc6b6a6418ba6f12b71bdba0f..195e3d5e89e594cfbfc8e3a1f73b1cf699d06d88 100644
--- a/MrBigsock/Assets/Code/orc/EnemyController.cs
+++ b/MrBigsock/Assets/Code/orc/EnemyController.cs
@@ -2,6 +2,7 @@ using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using System.Linq;
+using System;
 
 
 namespace BigSock {
@@ -43,6 +44,49 @@ namespace BigSock {
 			attackCollider.OnColliderExit2D_Action += Attack_OnColliderExit2D;
 		}
 
+
+
+		public bool Alive { get; private set; } = true;
+		public DateTime NextTimeCanTakeDamage { get; private set; } = DateTime.Now;
+		public TimeSpan IFrameDuration { get; private set; } = new TimeSpan(0, 0, 0, 0, 333);
+		/*
+				Adds damage to the player if they don't have IFrames.
+		*/
+		public bool TakeDamage(double amount) {
+			// Check if player has IFrames
+			if(NextTimeCanTakeDamage > DateTime.Now)
+				return false;
+			// Start new IFrames
+			NextTimeCanTakeDamage = DateTime.Now + IFrameDuration;
+
+			print($"[EnemyController.TakeDamage()] start. | {HP} - {amount}");
+
+			// Add damage
+			HP -= amount;
+
+			TryKill();
+
+			return true;
+		}
+
+		/*
+				Try to kill the player.
+		*/
+		public bool TryKill() {
+			if(Alive && HP <= 0) {
+				print($"[EnemyController.TryKill()] start. | {HP}, {Alive}");
+				Alive = false;
+
+				Destroy(this);
+
+				return true;
+			}
+			return false;
+		}
+
+
+
+
 		private void RotateAnimation(Vector2 direction)
 		{
 			if (direction.x > 0.01f){
@@ -109,21 +153,21 @@ namespace BigSock {
 	public partial class EnemyController { //attack
 
 		private void Attack_OnColliderEnter2D(Collider2D other){
-				if (other.gameObject.tag == "Player")
-						isInMelee = true;
+			if (other.gameObject.tag == "Player")
+				isInMelee = true;
 		}
 
 		
 
 		private void Attack_OnColliderStay2D(Collider2D other){
-				if (other.gameObject.tag == "Player"){
-						var player = other.gameObject.GetComponent<PlayerController>();
-						if(player.TakeDamage(Damage)){
-								//knockback ? 
-								//animer nå ?
-								
-					}
-				} 
+			if (other.gameObject.tag == "Player"){
+				var player = other.gameObject.GetComponent<PlayerController>();
+				if(player.TakeDamage(Damage)){
+						//knockback ? 
+						//animer nå ?
+						
+				}
+			} 
 		}
 		private void Attack_OnColliderExit2D(Collider2D other){
 				if (other.gameObject.tag == "Player")
diff --git a/MrBigsock/Assets/Prefabs/BigSock.prefab b/MrBigsock/Assets/Prefabs/BigSock.prefab
index e001802edb415255926b8a4982c6312bf9b4d026..ce2c672a0b93e6a5fb7160b8395e7338066b2706 100644
--- a/MrBigsock/Assets/Prefabs/BigSock.prefab
+++ b/MrBigsock/Assets/Prefabs/BigSock.prefab
@@ -15,7 +15,7 @@ GameObject:
   - component: {fileID: 8339702841083125274}
   - component: {fileID: 8616172023331984945}
   - component: {fileID: 8280117626939289948}
-  m_Layer: 0
+  m_Layer: 9
   m_Name: BigSock
   m_TagString: Player
   m_Icon: {fileID: 0}
diff --git a/MrBigsock/Assets/Prefabs/attack.prefab b/MrBigsock/Assets/Prefabs/attack.prefab
index 1a9aeeaa5a1cc64ebc0fe33fed5a968a62d4dc27..a6ad0cd9dd75a90f05f4e0606ecbe4a7138a6633 100644
--- a/MrBigsock/Assets/Prefabs/attack.prefab
+++ b/MrBigsock/Assets/Prefabs/attack.prefab
@@ -14,7 +14,7 @@ GameObject:
   - component: {fileID: 7173793660907891949}
   - component: {fileID: 7173793660907891948}
   - component: {fileID: 5355219341519538053}
-  m_Layer: 0
+  m_Layer: 10
   m_Name: attack
   m_TagString: Untagged
   m_Icon: {fileID: 0}
diff --git a/MrBigsock/ProjectSettings/BurstAotSettings_StandaloneWindows.json b/MrBigsock/ProjectSettings/BurstAotSettings_StandaloneWindows.json
new file mode 100644
index 0000000000000000000000000000000000000000..e02ae33205d74429e01f7e31eb44b6281339b976
--- /dev/null
+++ b/MrBigsock/ProjectSettings/BurstAotSettings_StandaloneWindows.json
@@ -0,0 +1,17 @@
+{
+  "MonoBehaviour": {
+    "Version": 4,
+    "EnableBurstCompilation": true,
+    "EnableOptimisations": true,
+    "EnableSafetyChecks": false,
+    "EnableDebugInAllBuilds": false,
+    "UsePlatformSDKLinker": false,
+    "CpuMinTargetX32": 0,
+    "CpuMaxTargetX32": 0,
+    "CpuMinTargetX64": 0,
+    "CpuMaxTargetX64": 0,
+    "CpuTargetsX32": 6,
+    "CpuTargetsX64": 72,
+    "OptimizeFor": 0
+  }
+}
diff --git a/MrBigsock/ProjectSettings/BurstAotSettings_WebGL.json b/MrBigsock/ProjectSettings/BurstAotSettings_WebGL.json
new file mode 100644
index 0000000000000000000000000000000000000000..771d37b73d4522914996afdb6b138e3338c5f368
--- /dev/null
+++ b/MrBigsock/ProjectSettings/BurstAotSettings_WebGL.json
@@ -0,0 +1,14 @@
+{
+  "MonoBehaviour": {
+    "Version": 4,
+    "EnableBurstCompilation": true,
+    "EnableOptimisations": true,
+    "EnableSafetyChecks": false,
+    "EnableDebugInAllBuilds": false,
+    "CpuMinTargetX32": 0,
+    "CpuMaxTargetX32": 0,
+    "CpuMinTargetX64": 0,
+    "CpuMaxTargetX64": 0,
+    "OptimizeFor": 0
+  }
+}
diff --git a/MrBigsock/ProjectSettings/CommonBurstAotSettings.json b/MrBigsock/ProjectSettings/CommonBurstAotSettings.json
new file mode 100644
index 0000000000000000000000000000000000000000..0293dafc80668182e1f17b5a0ea013d2c4050df0
--- /dev/null
+++ b/MrBigsock/ProjectSettings/CommonBurstAotSettings.json
@@ -0,0 +1,6 @@
+{
+  "MonoBehaviour": {
+    "Version": 4,
+    "DisabledWarnings": ""
+  }
+}
diff --git a/MrBigsock/ProjectSettings/TimelineSettings.asset b/MrBigsock/ProjectSettings/TimelineSettings.asset
new file mode 100644
index 0000000000000000000000000000000000000000..cfaebd7a3ad4fbc31dbaf44d03b608d430a973dc
--- /dev/null
+++ b/MrBigsock/ProjectSettings/TimelineSettings.asset
@@ -0,0 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+  m_ObjectHideFlags: 61
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  assetDefaultFramerate: 60
+  m_DefaultFrameRate: 60