diff --git a/Assets/Models/Basic/Materials.meta b/Assets/Models/Characters.meta
similarity index 77%
rename from Assets/Models/Basic/Materials.meta
rename to Assets/Models/Characters.meta
index c5f4f5b0fc598507f84c38b16dacecea16d76173..f082cde6ded77caa31fe881bfae3606d865df695 100644
--- a/Assets/Models/Basic/Materials.meta
+++ b/Assets/Models/Characters.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a9dd40da0e4710c48b9cc743a9aea620
+guid: c138bbc03eef8534ca531c0c220ad513
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Assets/Models/Basic.meta b/Assets/Models/Characters/Basic.meta
similarity index 100%
rename from Assets/Models/Basic.meta
rename to Assets/Models/Characters/Basic.meta
diff --git a/Assets/Models/Basic/Animations.meta b/Assets/Models/Characters/Basic/Animations.meta
similarity index 100%
rename from Assets/Models/Basic/Animations.meta
rename to Assets/Models/Characters/Basic/Animations.meta
diff --git a/Assets/Models/Basic/Animations/Basic.controller b/Assets/Models/Characters/Basic/Animations/Basic.controller
similarity index 100%
rename from Assets/Models/Basic/Animations/Basic.controller
rename to Assets/Models/Characters/Basic/Animations/Basic.controller
diff --git a/Assets/Models/Basic/Animations/Basic.controller.meta b/Assets/Models/Characters/Basic/Animations/Basic.controller.meta
similarity index 100%
rename from Assets/Models/Basic/Animations/Basic.controller.meta
rename to Assets/Models/Characters/Basic/Animations/Basic.controller.meta
diff --git a/Assets/Models/Characters/Basic/Model.prefab b/Assets/Models/Characters/Basic/Model.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..5c1b83fbe77242c33de3d7d7e76f4b89095422de
--- /dev/null
+++ b/Assets/Models/Characters/Basic/Model.prefab
@@ -0,0 +1,129 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &125248941348886635
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1838854055268103909}
+  - component: {fileID: 2349130896917120290}
+  - component: {fileID: 9221680813695291731}
+  - component: {fileID: 211686610887331952}
+  - component: {fileID: 7854868560450781420}
+  m_Layer: 6
+  m_Name: Model
+  m_TagString: Player
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1838854055268103909
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 125248941348886635}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.75, z: 0}
+  m_LocalScale: {x: 0.4, y: 1.5, z: 0.4}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2349130896917120290
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 125248941348886635}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &9221680813695291731
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 125248941348886635}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!95 &211686610887331952
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 125248941348886635}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 90dd223aac3f61346bc92bf12b99b3c7, 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!65 &7854868560450781420
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 125248941348886635}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
diff --git a/Assets/Models/Characters/Basic/Model.prefab.meta b/Assets/Models/Characters/Basic/Model.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..e64a6547b365f8974da79117e1d093c3110adda8
--- /dev/null
+++ b/Assets/Models/Characters/Basic/Model.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 71b1260932d07054caf2d52890e46704
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Models/Basic/Textures.meta b/Assets/Models/Characters/Basic2.meta
similarity index 77%
rename from Assets/Models/Basic/Textures.meta
rename to Assets/Models/Characters/Basic2.meta
index 275a85f3ef47d81643bad609e6a065784ec85576..8ebf8d13154a45758d12aaed5afb3f99558435b2 100644
--- a/Assets/Models/Basic/Textures.meta
+++ b/Assets/Models/Characters/Basic2.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 5063922f05e158b47890e52765f9f58c
+guid: 1ab9c84651e5e964599f49371a99a823
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}
diff --git a/Assets/Models/Characters/Basic2/Model.prefab b/Assets/Models/Characters/Basic2/Model.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..cb1a38117ca1dd60edfec360ce501b8762dbe203
--- /dev/null
+++ b/Assets/Models/Characters/Basic2/Model.prefab
@@ -0,0 +1,129 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3596266059315004415
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3558461250457509906}
+  - component: {fileID: 2961447189916438112}
+  - component: {fileID: 4666754847935405941}
+  - component: {fileID: 7320871978689485787}
+  - component: {fileID: 4205797128800968765}
+  m_Layer: 7
+  m_Name: Model
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &3558461250457509906
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3596266059315004415}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.75, z: 0}
+  m_LocalScale: {x: 2, y: 1.5, z: 2}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2961447189916438112
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3596266059315004415}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &4666754847935405941
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3596266059315004415}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!95 &7320871978689485787
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3596266059315004415}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 0}
+  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!65 &4205797128800968765
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3596266059315004415}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0.000000059604645, y: 0, z: -0.000000059604645}
diff --git a/Assets/Models/Characters/Basic2/Model.prefab.meta b/Assets/Models/Characters/Basic2/Model.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..313ec37d8db803049af96c1ca4fd7885dcdc0438
--- /dev/null
+++ b/Assets/Models/Characters/Basic2/Model.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 12a4aadfaedb1df42bbe4222406bb2ad
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Models/Jean.meta b/Assets/Models/Characters/Jean.meta
similarity index 100%
rename from Assets/Models/Jean.meta
rename to Assets/Models/Characters/Jean.meta
diff --git a/Assets/Models/Jean/Animations.meta b/Assets/Models/Characters/Jean/Animations.meta
similarity index 100%
rename from Assets/Models/Jean/Animations.meta
rename to Assets/Models/Characters/Jean/Animations.meta
diff --git a/Assets/Models/Jean/Animations/jean.controller b/Assets/Models/Characters/Jean/Animations/jean.controller
similarity index 100%
rename from Assets/Models/Jean/Animations/jean.controller
rename to Assets/Models/Characters/Jean/Animations/jean.controller
diff --git a/Assets/Models/Jean/Animations/jean.controller.meta b/Assets/Models/Characters/Jean/Animations/jean.controller.meta
similarity index 100%
rename from Assets/Models/Jean/Animations/jean.controller.meta
rename to Assets/Models/Characters/Jean/Animations/jean.controller.meta
diff --git "a/Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim" "b/Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim"
similarity index 100%
rename from "Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim"
rename to "Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim"
diff --git "a/Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim.meta" "b/Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim.meta"
similarity index 100%
rename from "Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim.meta"
rename to "Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_Idle_breathing_bone.anim.meta"
diff --git "a/Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim" "b/Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim"
similarity index 100%
rename from "Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim"
rename to "Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim"
diff --git "a/Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim.meta" "b/Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim.meta"
similarity index 100%
rename from "Assets/Models/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim.meta"
rename to "Assets/Models/Characters/Jean/Animations/\343\202\270\343\203\263_arm_catwalk_fixed_bone.anim.meta"
diff --git a/Assets/Models/Jean/Materials.meta b/Assets/Models/Characters/Jean/Materials.meta
similarity index 100%
rename from Assets/Models/Jean/Materials.meta
rename to Assets/Models/Characters/Jean/Materials.meta
diff --git "a/Assets/Models/Jean/Materials/\345\244\264\345\217\221.mat" "b/Assets/Models/Characters/Jean/Materials/\345\244\264\345\217\221.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\345\244\264\345\217\221.mat"
rename to "Assets/Models/Characters/Jean/Materials/\345\244\264\345\217\221.mat"
diff --git "a/Assets/Models/Jean/Materials/\345\244\264\345\217\221.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\345\244\264\345\217\221.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\345\244\264\345\217\221.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\345\244\264\345\217\221.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\346\212\253\350\202\251.mat" "b/Assets/Models/Characters/Jean/Materials/\346\212\253\350\202\251.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\346\212\253\350\202\251.mat"
rename to "Assets/Models/Characters/Jean/Materials/\346\212\253\350\202\251.mat"
diff --git "a/Assets/Models/Jean/Materials/\346\212\253\350\202\251.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\346\212\253\350\202\251.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\346\212\253\350\202\251.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\346\212\253\350\202\251.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\347\232\256\350\202\244.mat" "b/Assets/Models/Characters/Jean/Materials/\347\232\256\350\202\244.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\347\232\256\350\202\244.mat"
rename to "Assets/Models/Characters/Jean/Materials/\347\232\256\350\202\244.mat"
diff --git "a/Assets/Models/Jean/Materials/\347\232\256\350\202\244.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\347\232\256\350\202\244.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\347\232\256\350\202\244.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\347\232\256\350\202\244.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\347\234\274\347\231\275.mat" "b/Assets/Models/Characters/Jean/Materials/\347\234\274\347\231\275.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\347\234\274\347\231\275.mat"
rename to "Assets/Models/Characters/Jean/Materials/\347\234\274\347\231\275.mat"
diff --git "a/Assets/Models/Jean/Materials/\347\234\274\347\231\275.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\347\234\274\347\231\275.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\347\234\274\347\231\275.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\347\234\274\347\231\275.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\347\234\274\347\235\233.mat" "b/Assets/Models/Characters/Jean/Materials/\347\234\274\347\235\233.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\347\234\274\347\235\233.mat"
rename to "Assets/Models/Characters/Jean/Materials/\347\234\274\347\235\233.mat"
diff --git "a/Assets/Models/Jean/Materials/\347\234\274\347\235\233.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\347\234\274\347\235\233.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\347\234\274\347\235\233.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\347\234\274\347\235\233.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\350\204\270.mat" "b/Assets/Models/Characters/Jean/Materials/\350\204\270.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\204\270.mat"
rename to "Assets/Models/Characters/Jean/Materials/\350\204\270.mat"
diff --git "a/Assets/Models/Jean/Materials/\350\204\270.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\350\204\270.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\204\270.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\350\204\270.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\350\205\260\345\270\246.mat" "b/Assets/Models/Characters/Jean/Materials/\350\205\260\345\270\246.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\205\260\345\270\246.mat"
rename to "Assets/Models/Characters/Jean/Materials/\350\205\260\345\270\246.mat"
diff --git "a/Assets/Models/Jean/Materials/\350\205\260\345\270\246.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\350\205\260\345\270\246.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\205\260\345\270\246.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\350\205\260\345\270\246.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\350\241\243\346\234\215.mat" "b/Assets/Models/Characters/Jean/Materials/\350\241\243\346\234\215.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\241\243\346\234\215.mat"
rename to "Assets/Models/Characters/Jean/Materials/\350\241\243\346\234\215.mat"
diff --git "a/Assets/Models/Jean/Materials/\350\241\243\346\234\215.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\350\241\243\346\234\215.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\241\243\346\234\215.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\350\241\243\346\234\215.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\350\241\250\346\203\205.mat" "b/Assets/Models/Characters/Jean/Materials/\350\241\250\346\203\205.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\241\250\346\203\205.mat"
rename to "Assets/Models/Characters/Jean/Materials/\350\241\250\346\203\205.mat"
diff --git "a/Assets/Models/Jean/Materials/\350\241\250\346\203\205.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\350\241\250\346\203\205.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\241\250\346\203\205.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\350\241\250\346\203\205.mat.meta"
diff --git "a/Assets/Models/Jean/Materials/\350\243\244\345\255\220.mat" "b/Assets/Models/Characters/Jean/Materials/\350\243\244\345\255\220.mat"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\243\244\345\255\220.mat"
rename to "Assets/Models/Characters/Jean/Materials/\350\243\244\345\255\220.mat"
diff --git "a/Assets/Models/Jean/Materials/\350\243\244\345\255\220.mat.meta" "b/Assets/Models/Characters/Jean/Materials/\350\243\244\345\255\220.mat.meta"
similarity index 100%
rename from "Assets/Models/Jean/Materials/\350\243\244\345\255\220.mat.meta"
rename to "Assets/Models/Characters/Jean/Materials/\350\243\244\345\255\220.mat.meta"
diff --git a/Assets/Models/Jean/Textures.meta b/Assets/Models/Characters/Jean/Textures.meta
similarity index 100%
rename from Assets/Models/Jean/Textures.meta
rename to Assets/Models/Characters/Jean/Textures.meta
diff --git a/Assets/Models/Jean/Textures/krita.meta b/Assets/Models/Characters/Jean/Textures/krita.meta
similarity index 100%
rename from Assets/Models/Jean/Textures/krita.meta
rename to Assets/Models/Characters/Jean/Textures/krita.meta
diff --git "a/Assets/Models/Jean/Textures/krita/\346\234\215n.kra" "b/Assets/Models/Characters/Jean/Textures/krita/\346\234\215n.kra"
similarity index 100%
rename from "Assets/Models/Jean/Textures/krita/\346\234\215n.kra"
rename to "Assets/Models/Characters/Jean/Textures/krita/\346\234\215n.kra"
diff --git "a/Assets/Models/Jean/Textures/krita/\346\234\215n.kra.meta" "b/Assets/Models/Characters/Jean/Textures/krita/\346\234\215n.kra.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/krita/\346\234\215n.kra.meta"
rename to "Assets/Models/Characters/Jean/Textures/krita/\346\234\215n.kra.meta"
diff --git "a/Assets/Models/Jean/Textures/krita/\351\241\224n.kra" "b/Assets/Models/Characters/Jean/Textures/krita/\351\241\224n.kra"
similarity index 100%
rename from "Assets/Models/Jean/Textures/krita/\351\241\224n.kra"
rename to "Assets/Models/Characters/Jean/Textures/krita/\351\241\224n.kra"
diff --git "a/Assets/Models/Jean/Textures/krita/\351\241\224n.kra.meta" "b/Assets/Models/Characters/Jean/Textures/krita/\351\241\224n.kra.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/krita/\351\241\224n.kra.meta"
rename to "Assets/Models/Characters/Jean/Textures/krita/\351\241\224n.kra.meta"
diff --git "a/Assets/Models/Jean/Textures/krita/\351\253\252.kra" "b/Assets/Models/Characters/Jean/Textures/krita/\351\253\252.kra"
similarity index 100%
rename from "Assets/Models/Jean/Textures/krita/\351\253\252.kra"
rename to "Assets/Models/Characters/Jean/Textures/krita/\351\253\252.kra"
diff --git "a/Assets/Models/Jean/Textures/krita/\351\253\252.kra.meta" "b/Assets/Models/Characters/Jean/Textures/krita/\351\253\252.kra.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/krita/\351\253\252.kra.meta"
rename to "Assets/Models/Characters/Jean/Textures/krita/\351\253\252.kra.meta"
diff --git a/Assets/Models/Jean/Textures/mc3.png b/Assets/Models/Characters/Jean/Textures/mc3.png
similarity index 100%
rename from Assets/Models/Jean/Textures/mc3.png
rename to Assets/Models/Characters/Jean/Textures/mc3.png
diff --git a/Assets/Models/Jean/Textures/mc3.png.meta b/Assets/Models/Characters/Jean/Textures/mc3.png.meta
similarity index 100%
rename from Assets/Models/Jean/Textures/mc3.png.meta
rename to Assets/Models/Characters/Jean/Textures/mc3.png.meta
diff --git a/Assets/Models/Jean/Textures/toon.png b/Assets/Models/Characters/Jean/Textures/toon.png
similarity index 100%
rename from Assets/Models/Jean/Textures/toon.png
rename to Assets/Models/Characters/Jean/Textures/toon.png
diff --git a/Assets/Models/Jean/Textures/toon.png.meta b/Assets/Models/Characters/Jean/Textures/toon.png.meta
similarity index 100%
rename from Assets/Models/Jean/Textures/toon.png.meta
rename to Assets/Models/Characters/Jean/Textures/toon.png.meta
diff --git "a/Assets/Models/Jean/Textures/\346\234\215.jpg" "b/Assets/Models/Characters/Jean/Textures/\346\234\215.jpg"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\346\234\215.jpg"
rename to "Assets/Models/Characters/Jean/Textures/\346\234\215.jpg"
diff --git "a/Assets/Models/Jean/Textures/\346\234\215.jpg.meta" "b/Assets/Models/Characters/Jean/Textures/\346\234\215.jpg.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\346\234\215.jpg.meta"
rename to "Assets/Models/Characters/Jean/Textures/\346\234\215.jpg.meta"
diff --git "a/Assets/Models/Jean/Textures/\350\241\250\346\203\205.png" "b/Assets/Models/Characters/Jean/Textures/\350\241\250\346\203\205.png"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\350\241\250\346\203\205.png"
rename to "Assets/Models/Characters/Jean/Textures/\350\241\250\346\203\205.png"
diff --git "a/Assets/Models/Jean/Textures/\350\241\250\346\203\205.png.meta" "b/Assets/Models/Characters/Jean/Textures/\350\241\250\346\203\205.png.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\350\241\250\346\203\205.png.meta"
rename to "Assets/Models/Characters/Jean/Textures/\350\241\250\346\203\205.png.meta"
diff --git "a/Assets/Models/Jean/Textures/\351\241\224.jpg" "b/Assets/Models/Characters/Jean/Textures/\351\241\224.jpg"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\351\241\224.jpg"
rename to "Assets/Models/Characters/Jean/Textures/\351\241\224.jpg"
diff --git "a/Assets/Models/Jean/Textures/\351\241\224.jpg.meta" "b/Assets/Models/Characters/Jean/Textures/\351\241\224.jpg.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\351\241\224.jpg.meta"
rename to "Assets/Models/Characters/Jean/Textures/\351\241\224.jpg.meta"
diff --git "a/Assets/Models/Jean/Textures/\351\241\224n.jpg~" "b/Assets/Models/Characters/Jean/Textures/\351\241\224n.jpg~"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\351\241\224n.jpg~"
rename to "Assets/Models/Characters/Jean/Textures/\351\241\224n.jpg~"
diff --git "a/Assets/Models/Jean/Textures/\351\253\252.jpg" "b/Assets/Models/Characters/Jean/Textures/\351\253\252.jpg"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\351\253\252.jpg"
rename to "Assets/Models/Characters/Jean/Textures/\351\253\252.jpg"
diff --git "a/Assets/Models/Jean/Textures/\351\253\252.jpg.meta" "b/Assets/Models/Characters/Jean/Textures/\351\253\252.jpg.meta"
similarity index 100%
rename from "Assets/Models/Jean/Textures/\351\253\252.jpg.meta"
rename to "Assets/Models/Characters/Jean/Textures/\351\253\252.jpg.meta"
diff --git a/Assets/Models/Jean/jean.fbx b/Assets/Models/Characters/Jean/jean.fbx
similarity index 100%
rename from Assets/Models/Jean/jean.fbx
rename to Assets/Models/Characters/Jean/jean.fbx
diff --git a/Assets/Models/Jean/jean.fbx.meta b/Assets/Models/Characters/Jean/jean.fbx.meta
similarity index 100%
rename from Assets/Models/Jean/jean.fbx.meta
rename to Assets/Models/Characters/Jean/jean.fbx.meta
diff --git a/Assets/Models/Weapons.meta b/Assets/Models/Weapons.meta
new file mode 100644
index 0000000000000000000000000000000000000000..31f32aa6c071b5410ad3e6cd04710641db7526a3
--- /dev/null
+++ b/Assets/Models/Weapons.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 005e2bc455f458542a1c84708483d3e2
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Models/Weapons/TestWeapon.meta b/Assets/Models/Weapons/TestWeapon.meta
new file mode 100644
index 0000000000000000000000000000000000000000..eced6d6b6da3e041642682ba8c6f5e5a467a1558
--- /dev/null
+++ b/Assets/Models/Weapons/TestWeapon.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 78d740bfb68440b4994c89408ea601b9
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations.meta b/Assets/Models/Weapons/TestWeapon/Animations.meta
similarity index 100%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations.meta
rename to Assets/Models/Weapons/TestWeapon/Animations.meta
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller
similarity index 98%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller
rename to Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller
index 1d53dd5d7d1483fd246adce4a112baeb8cc03292..a6d1ad78b38f0e2e4800f05441e2b774d2571111 100644
--- a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller
+++ b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller
@@ -93,7 +93,7 @@ AnimatorController:
     m_DefaultFloat: 0
     m_DefaultInt: 0
     m_DefaultBool: 0
-    m_Controller: {fileID: 0}
+    m_Controller: {fileID: 9100000}
   m_AnimatorLayers:
   - serializedVersion: 5
     m_Name: Base Layer
@@ -127,7 +127,7 @@ AnimatorStateTransition:
   m_TransitionDuration: 0.25
   m_TransitionOffset: 0
   m_ExitTime: 0.75
-  m_HasExitTime: 1
+  m_HasExitTime: 0
   m_HasFixedDuration: 1
   m_InterruptionSource: 0
   m_OrderedInterruption: 1
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta
similarity index 100%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta
rename to Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAnimator.controller.meta
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAttack.anim
similarity index 98%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim
rename to Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAttack.anim
index f0cc5c1997b22b09f6df42898ffd5335a3a13c15..d7c5ae47a95cdd99120c4eecac7b5287ab54f589 100644
--- a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim
+++ b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAttack.anim
@@ -27,7 +27,7 @@ AnimationClip:
         inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
         outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: {x: 0, y: -60, z: 0}
         inSlope: {x: 0, y: 0, z: 0}
         outSlope: {x: 0, y: 0, z: 0}
@@ -36,7 +36,7 @@ AnimationClip:
         inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
         outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: {x: 0, y: 0, z: 0}
         inSlope: {x: 0, y: 0, z: 0}
         outSlope: {x: 0, y: 0, z: 0}
@@ -62,7 +62,7 @@ AnimationClip:
         inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
         outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: {x: 0, y: 0, z: 0.5}
         inSlope: {x: 0, y: 0, z: 0}
         outSlope: {x: 0, y: 0, z: 0}
@@ -71,7 +71,7 @@ AnimationClip:
         inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
         outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: {x: 0, y: 0, z: 0}
         inSlope: {x: 0, y: 0, z: 0}
         outSlope: {x: 0, y: 0, z: 0}
@@ -117,7 +117,7 @@ AnimationClip:
     m_AdditiveReferencePoseClip: {fileID: 0}
     m_AdditiveReferencePoseTime: 0
     m_StartTime: 0
-    m_StopTime: 1
+    m_StopTime: 0.5
     m_OrientationOffsetY: 0
     m_Level: 0
     m_CycleOffset: 0
@@ -147,7 +147,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: 0
         inSlope: 0
         outSlope: 0
@@ -156,7 +156,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: 0
         inSlope: 0
         outSlope: 0
@@ -186,7 +186,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: 0
         inSlope: 0
         outSlope: 0
@@ -195,7 +195,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: 0
         inSlope: 0
         outSlope: 0
@@ -225,7 +225,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: 0.5
         inSlope: 0
         outSlope: 0
@@ -234,7 +234,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: 0
         inSlope: 0
         outSlope: 0
@@ -264,7 +264,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: 0
         inSlope: 0
         outSlope: 0
@@ -273,7 +273,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: 0
         inSlope: 0
         outSlope: 0
@@ -303,7 +303,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: -60
         inSlope: 0
         outSlope: 0
@@ -312,7 +312,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: 0
         inSlope: 0
         outSlope: 0
@@ -342,7 +342,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 0.5
+        time: 0.25
         value: 0
         inSlope: 0
         outSlope: 0
@@ -351,7 +351,7 @@ AnimationClip:
         inWeight: 0.33333334
         outWeight: 0.33333334
       - serializedVersion: 3
-        time: 1
+        time: 0.5
         value: 0
         inSlope: 0
         outSlope: 0
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta
similarity index 100%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta
rename to Assets/Models/Weapons/TestWeapon/Animations/TestWeaponAttack.anim.meta
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponIdle.anim
similarity index 100%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim
rename to Assets/Models/Weapons/TestWeapon/Animations/TestWeaponIdle.anim
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta b/Assets/Models/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta
similarity index 100%
rename from Assets/Resources/Prefabs/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta
rename to Assets/Models/Weapons/TestWeapon/Animations/TestWeaponIdle.anim.meta
diff --git a/Assets/Models/Weapons/TestWeapon/Model.prefab b/Assets/Models/Weapons/TestWeapon/Model.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..47a0df8f0f3a479f751ba7f76b227902b747ed7f
--- /dev/null
+++ b/Assets/Models/Weapons/TestWeapon/Model.prefab
@@ -0,0 +1,107 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6146631199650576833
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 691014024523472006}
+  - component: {fileID: 2791526420071666714}
+  - component: {fileID: 1664417149787680797}
+  - component: {fileID: 444274800546035912}
+  m_Layer: 8
+  m_Name: Model
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &691014024523472006
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6146631199650576833}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &2791526420071666714
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6146631199650576833}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &1664417149787680797
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6146631199650576833}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!95 &444274800546035912
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6146631199650576833}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 9100000, guid: 240e48418e1611c46a18fa4fd9cbe79f, 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
diff --git a/Assets/Models/Weapons/TestWeapon/Model.prefab.meta b/Assets/Models/Weapons/TestWeapon/Model.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..6579e1d932ad59a4b351be0f9cd3318f714b9ed3
--- /dev/null
+++ b/Assets/Models/Weapons/TestWeapon/Model.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 50599534a77c7dd46b591a71fbb5feba
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Resources/Prefabs/Mobs/Dummy/DamagingHitbox.prefab b/Assets/Resources/Prefabs/Mobs/Dummy/DamagingHitbox.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..14c10109f2d96ca626d43b4887d68215e477e3a7
--- /dev/null
+++ b/Assets/Resources/Prefabs/Mobs/Dummy/DamagingHitbox.prefab
@@ -0,0 +1,70 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3281168376067541764
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5193666932059780216}
+  - component: {fileID: 5952435815579559402}
+  - component: {fileID: 7768068847418568192}
+  m_Layer: 9
+  m_Name: DamagingHitbox
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5193666932059780216
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3281168376067541764}
+  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: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &5952435815579559402
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3281168376067541764}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 2, y: 1.5, z: 2}
+  m_Center: {x: 0, y: 0.75, z: 0}
+--- !u!114 &7768068847418568192
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3281168376067541764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d305728f9c09ee84d861e4d2a18c0be0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  damage: 0
+  knockbackPower: 10
diff --git a/Assets/Resources/Prefabs/Mobs/Dummy/DamagingHitbox.prefab.meta b/Assets/Resources/Prefabs/Mobs/Dummy/DamagingHitbox.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..66b70a98a80170fcfa7fb68595a4457aef792449
--- /dev/null
+++ b/Assets/Resources/Prefabs/Mobs/Dummy/DamagingHitbox.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b2efcbe9fd3f6fe4c90fb9507057c56d
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab b/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab
index 5b4df5b2868d5ccae97680b5237e526fc2fb4ad9..a690ac663a0a548616389c1ef3b8f97009cd48eb 100644
--- a/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab
+++ b/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab
@@ -1,6 +1,6 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
---- !u!1 &1626430850021745201
+--- !u!1 &8491347043216026353
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -8,10 +8,9 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 42222099870390294}
-  - component: {fileID: 4005595574687960794}
-  - component: {fileID: 8000563134980268694}
-  - component: {fileID: 5575106368289396507}
+  - component: {fileID: 6141342063799955615}
+  - component: {fileID: 6013667108095466786}
+  - component: {fileID: 8734659159874979979}
   m_Layer: 7
   m_Name: Dummy
   m_TagString: Enemy
@@ -19,51 +18,30 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &42222099870390294
+--- !u!4 &6141342063799955615
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1626430850021745201}
+  m_GameObject: {fileID: 8491347043216026353}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: -1.59, y: 0, z: 1.93}
-  m_LocalScale: {x: 5, y: 1, z: 5}
+  m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 2384853256735062225}
-  - {fileID: 7885174992267022071}
+  - {fileID: 2941944313554370296}
+  - {fileID: 8287830469197447668}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!65 &4005595574687960794
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1626430850021745201}
-  m_Material: {fileID: 0}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_LayerOverridePriority: 0
-  m_IsTrigger: 0
-  m_ProvidesContacts: 0
-  m_Enabled: 1
-  serializedVersion: 3
-  m_Size: {x: 0.4, y: 1.5, z: 0.4}
-  m_Center: {x: 0, y: 0.75, z: 0}
---- !u!54 &8000563134980268694
+--- !u!54 &6013667108095466786
 Rigidbody:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1626430850021745201}
+  m_GameObject: {fileID: 8491347043216026353}
   serializedVersion: 4
   m_Mass: 1
   m_Drag: 0
@@ -84,13 +62,13 @@ Rigidbody:
   m_Interpolate: 0
   m_Constraints: 80
   m_CollisionDetection: 0
---- !u!114 &5575106368289396507
+--- !u!114 &8734659159874979979
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1626430850021745201}
+  m_GameObject: {fileID: 8491347043216026353}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 36e5aa8cb18425941b8dede35c491e0e, type: 3}
@@ -102,176 +80,127 @@ MonoBehaviour:
   maxHealth: 100000
   health: 100000
   baseDamage: 0
---- !u!1 &7650759306955463222
-GameObject:
+--- !u!1001 &1851493345103208170
+PrefabInstance:
   m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 7885174992267022071}
-  - component: {fileID: 5248822067544974682}
-  - component: {fileID: 7671431549252728022}
-  m_Layer: 7
-  m_Name: Hitbox
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &7885174992267022071
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7650759306955463222}
   serializedVersion: 2
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0.59, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 42222099870390294}
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!65 &5248822067544974682
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7650759306955463222}
-  m_Material: {fileID: 0}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_LayerOverridePriority: 0
-  m_IsTrigger: 1
-  m_ProvidesContacts: 0
-  m_Enabled: 1
-  serializedVersion: 3
-  m_Size: {x: 0.4, y: 1.5, z: 0.4}
-  m_Center: {x: 0, y: 0.75, z: 0}
---- !u!114 &7671431549252728022
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7650759306955463222}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: d305728f9c09ee84d861e4d2a18c0be0, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  damage: 0
-  knockbackPower: 10
---- !u!1 &8652275233143689981
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2384853256735062225}
-  - component: {fileID: 2999634125714444267}
-  - component: {fileID: 6034341801195886003}
-  - component: {fileID: 3938199748560579814}
-  m_Layer: 7
-  m_Name: Model
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &2384853256735062225
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 6141342063799955615}
+    m_Modifications:
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0.75
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3596266059315004415, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+      propertyPath: m_Name
+      value: Model
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+--- !u!4 &2941944313554370296 stripped
 Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8652275233143689981}
-  serializedVersion: 2
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0.75, z: 0}
-  m_LocalScale: {x: 0.4, y: 1.5, z: 0.4}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 42222099870390294}
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!33 &2999634125714444267
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
+  m_CorrespondingSourceObject: {fileID: 3558461250457509906, guid: 12a4aadfaedb1df42bbe4222406bb2ad, type: 3}
+  m_PrefabInstance: {fileID: 1851493345103208170}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8652275233143689981}
-  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &6034341801195886003
-MeshRenderer:
+--- !u!1001 &4258106615694226828
+PrefabInstance:
   m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8652275233143689981}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_StaticShadowCaster: 0
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
-  m_AdditionalVertexStreams: {fileID: 0}
---- !u!95 &3938199748560579814
-Animator:
-  serializedVersion: 5
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 6141342063799955615}
+    m_Modifications:
+    - target: {fileID: 3281168376067541764, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_Name
+      value: DamagingHitbox
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+--- !u!4 &8287830469197447668 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 5193666932059780216, guid: b2efcbe9fd3f6fe4c90fb9507057c56d, type: 3}
+  m_PrefabInstance: {fileID: 4258106615694226828}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8652275233143689981}
-  m_Enabled: 1
-  m_Avatar: {fileID: 0}
-  m_Controller: {fileID: 0}
-  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
diff --git a/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab.meta b/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab.meta
index 342d57a4de9ff03557d0a6be87bad277af0f1720..b782a3df9964492415281cf33cdf4bc63a4fbf0d 100644
--- a/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab.meta
+++ b/Assets/Resources/Prefabs/Mobs/Dummy/Dummy.prefab.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 390863d613c9cc344aa16e3796881ed1
+guid: 7e312250336c0244193b4b75151d4fe3
 PrefabImporter:
   externalObjects: {}
   userData: 
diff --git a/Assets/Resources/Prefabs/Player.meta b/Assets/Resources/Prefabs/Player.meta
new file mode 100644
index 0000000000000000000000000000000000000000..45ff64300676758817cf848c06309af054cecf7e
--- /dev/null
+++ b/Assets/Resources/Prefabs/Player.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c8e5ccfaa35879d4b9208ebb0b164aeb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Resources/Prefabs/Player/Animation.meta b/Assets/Resources/Prefabs/Player/Animation.meta
new file mode 100644
index 0000000000000000000000000000000000000000..46b6ad338e364e47e9f61a45fce8a872266cd35b
--- /dev/null
+++ b/Assets/Resources/Prefabs/Player/Animation.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a1349e392e445b348ba7960357764b99
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Resources/Prefabs/Weapons/TestWeapon/TestWeapon.prefab b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestWeapon.prefab
index 693406963cdcec3742a3ac6a73766a79f570c42a..31b36ae888b1bf8fbe533a59ae747ace61ff1410 100644
--- a/Assets/Resources/Prefabs/Weapons/TestWeapon/TestWeapon.prefab
+++ b/Assets/Resources/Prefabs/Weapons/TestWeapon/TestWeapon.prefab
@@ -1,6 +1,6 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
---- !u!1 &3608611397487402253
+--- !u!1 &5240801910879785525
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -8,8 +8,8 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 8728181779748450929}
-  - component: {fileID: 2635269686106844091}
+  - component: {fileID: 1050311400148833009}
+  - component: {fileID: 5029868015402955001}
   m_Layer: 8
   m_Name: TestWeapon
   m_TagString: Untagged
@@ -17,116 +17,100 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &8728181779748450929
+--- !u!4 &1050311400148833009
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 3608611397487402253}
+  m_GameObject: {fileID: 5240801910879785525}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
   m_LocalPosition: {x: 0.258, y: 0.889, z: 0.375}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 4819702794855297267}
+  - {fileID: 4254814505082849664}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &2635269686106844091
+--- !u!114 &5029868015402955001
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 3608611397487402253}
+  m_GameObject: {fileID: 5240801910879785525}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 68705b8ed948aae4d98ef6e87b6f6961, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  baseDamage: 10
-  baseKnockbackPower: 0
---- !u!1 &5423466746631264166
-GameObject:
+  BaseDamage: 10
+  KnockbackPower: 10
+  AttackInterval: 0.2
+  AlternateAttackInterval: 1
+  canAttack: 0
+  fireRange: 10
+  projectileSpeed: 50
+--- !u!1001 &3646467262361916678
+PrefabInstance:
   m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 4819702794855297267}
-  - component: {fileID: 1825073652082665210}
-  - component: {fileID: 8883085052838801529}
-  m_Layer: 8
-  m_Name: Model
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &4819702794855297267
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5423466746631264166}
   serializedVersion: 2
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 0.1, y: 0.1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 8728181779748450929}
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!33 &1825073652082665210
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5423466746631264166}
-  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!23 &8883085052838801529
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 1050311400148833009}
+    m_Modifications:
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6146631199650576833, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+      propertyPath: m_Name
+      value: Model
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+--- !u!4 &4254814505082849664 stripped
+Transform:
+  m_CorrespondingSourceObject: {fileID: 691014024523472006, guid: 50599534a77c7dd46b591a71fbb5feba, type: 3}
+  m_PrefabInstance: {fileID: 3646467262361916678}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5423466746631264166}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_StaticShadowCaster: 0
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
-  m_StaticBatchInfo:
-    firstSubMesh: 0
-    subMeshCount: 0
-  m_StaticBatchRoot: {fileID: 0}
-  m_ProbeAnchor: {fileID: 0}
-  m_LightProbeVolumeOverride: {fileID: 0}
-  m_ScaleInLightmap: 1
-  m_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  m_SelectedEditorRenderState: 3
-  m_MinimumChartSize: 4
-  m_AutoUVMaxDistance: 0.5
-  m_AutoUVMaxAngle: 89
-  m_LightmapParameters: {fileID: 0}
-  m_SortingLayerID: 0
-  m_SortingLayer: 0
-  m_SortingOrder: 0
-  m_AdditionalVertexStreams: {fileID: 0}
diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity
index c06c9a050523dd4f5f3ae9b3d77872fd466b1f9d..0c5d91359a5672cc5d35d9c99a0dd44d69f95713 100644
--- a/Assets/Scenes/SampleScene.unity
+++ b/Assets/Scenes/SampleScene.unity
@@ -202,7 +202,6 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 117855957}
-  - component: {fileID: 117855956}
   - component: {fileID: 117855955}
   - component: {fileID: 117855958}
   m_Layer: 6
@@ -239,27 +238,6 @@ Rigidbody:
   m_Interpolate: 0
   m_Constraints: 80
   m_CollisionDetection: 0
---- !u!65 &117855956
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 117855954}
-  m_Material: {fileID: 0}
-  m_IncludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_ExcludeLayers:
-    serializedVersion: 2
-    m_Bits: 0
-  m_LayerOverridePriority: 0
-  m_IsTrigger: 0
-  m_ProvidesContacts: 0
-  m_Enabled: 1
-  serializedVersion: 3
-  m_Size: {x: 0.4, y: 1.5, z: 0.4}
-  m_Center: {x: 0, y: 0.75, z: 0}
 --- !u!4 &117855957
 Transform:
   m_ObjectHideFlags: 0
@@ -436,11 +414,23 @@ Transform:
   m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!4 &542408818 stripped
+--- !u!4 &542408818
 Transform:
-  m_CorrespondingSourceObject: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-  m_PrefabInstance: {fileID: 2621625618582748302}
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1925035818}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -1.59, y: 0, z: 1.93}
+  m_LocalScale: {x: 5, y: 1, z: 5}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1167661571}
+  - {fileID: 1538428771}
+  m_Father: {fileID: 484130345}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &576314395
 GameObject:
   m_ObjectHideFlags: 0
@@ -586,9 +576,10 @@ GameObject:
   - component: {fileID: 675919038}
   - component: {fileID: 675919037}
   - component: {fileID: 675919036}
+  - component: {fileID: 675919039}
   m_Layer: 6
   m_Name: Model
-  m_TagString: Untagged
+  m_TagString: Player
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
@@ -679,6 +670,27 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 675919034}
   m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!65 &675919039
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 675919034}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
 --- !u!1 &705507993
 GameObject:
   m_ObjectHideFlags: 0
@@ -1178,11 +1190,269 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: c54dc993f0d1e36499ea37e182a87cbc, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+--- !u!1 &1167661570
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1167661571}
+  - component: {fileID: 1167661574}
+  - component: {fileID: 1167661573}
+  - component: {fileID: 1167661572}
+  m_Layer: 7
+  m_Name: Model
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1167661571
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167661570}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.75, z: 0}
+  m_LocalScale: {x: 0.4, y: 1.5, z: 0.4}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 542408818}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &1167661572
+Animator:
+  serializedVersion: 5
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167661570}
+  m_Enabled: 1
+  m_Avatar: {fileID: 0}
+  m_Controller: {fileID: 0}
+  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!23 &1167661573
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167661570}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &1167661574
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1167661570}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1538428770
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1538428771}
+  - component: {fileID: 1538428773}
+  - component: {fileID: 1538428772}
+  m_Layer: 7
+  m_Name: Hitbox
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1538428771
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1538428770}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0.59, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 542408818}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1538428772
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1538428770}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d305728f9c09ee84d861e4d2a18c0be0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  damage: 0
+  knockbackPower: 10
+--- !u!65 &1538428773
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1538428770}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 0.4, y: 1.5, z: 0.4}
+  m_Center: {x: 0, y: 0.75, z: 0}
 --- !u!4 &1628232501 stripped
 Transform:
   m_CorrespondingSourceObject: {fileID: 3345887698500519422, guid: c98b222ded23bb24690e674886e5741a, type: 3}
   m_PrefabInstance: {fileID: 8676018873226186172}
   m_PrefabAsset: {fileID: 0}
+--- !u!1 &1925035818
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 542408818}
+  - component: {fileID: 1925035821}
+  - component: {fileID: 1925035820}
+  - component: {fileID: 1925035819}
+  m_Layer: 7
+  m_Name: Dummy
+  m_TagString: Enemy
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1925035819
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1925035818}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 36e5aa8cb18425941b8dede35c491e0e, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Id: 
+  knockbackResistance: 1
+  baseSpeed: 0
+  maxHealth: 100000
+  health: 100000
+  baseDamage: 0
+--- !u!54 &1925035820
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1925035818}
+  serializedVersion: 4
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_CenterOfMass: {x: 0, y: 0, z: 0}
+  m_InertiaTensor: {x: 1, y: 1, z: 1}
+  m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ImplicitCom: 1
+  m_ImplicitTensor: 1
+  m_UseGravity: 1
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 80
+  m_CollisionDetection: 0
+--- !u!65 &1925035821
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1925035818}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 0
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 0.4, y: 1.5, z: 0.4}
+  m_Center: {x: 0, y: 0.75, z: 0}
 --- !u!1 &2127634080
 GameObject:
   m_ObjectHideFlags: 0
@@ -1285,63 +1555,6 @@ PrefabInstance:
     m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: c21e0108f08f0d74b92e3576ec7a7ecc, type: 3}
---- !u!1001 &2621625618582748302
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    serializedVersion: 3
-    m_TransformParent: {fileID: 484130345}
-    m_Modifications:
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -1.59
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: 1.93
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 42222099870390294, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 1626430850021745201, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
-      propertyPath: m_Name
-      value: Dummy
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-    m_RemovedGameObjects: []
-    m_AddedGameObjects: []
-    m_AddedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 390863d613c9cc344aa16e3796881ed1, type: 3}
 --- !u!1001 &4718921866596059802
 PrefabInstance:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs b/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs
index cd230ac5f0b7942d6b3173ab62941b9654d8eff7..0037d614bdea2a728ecfc3ac40c4528b93f8a883 100644
--- a/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs
+++ b/Assets/Scripts/Core/Objects/Weapons/NoWeapon/NoWeapon.cs
@@ -1,9 +1,4 @@
 public class NoWeapon : WeaponObject{
-    public override void Attack(){
-        return;
-    }
-
-    public override void AttackAlternate(){
-        return;
-    }
+    protected override void OnAttack(){}
+    protected override void OnAlternateAttack(){}
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs
index 0837d0a4221f019c16e975f9baeb8c41a5464dfe..8071b066287b3c4c834b08d3149d7e94ec2fe05f 100644
--- a/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs
+++ b/Assets/Scripts/Core/Objects/Weapons/TestWeapon/TestWeapon.cs
@@ -17,7 +17,7 @@ public class TestWeapon : WeaponObject{
     }
 
     // Function
-    public override void Attack(){
+    protected override void OnAttack(){
         ProjectileObject attackProjectile = ObjectFactory.CreateAttackObject<ProjectileObject>(
             prefabPath: projectilePrefab,
             damage: MathUtils.CalculateDamage(bearer.BaseDamage, BaseDamage),
@@ -35,7 +35,7 @@ public class TestWeapon : WeaponObject{
         ObjectFactory.DestroyObject(attackProjectile, 1f);
     }
 
-    public override void AttackAlternate(){
+    protected override void OnAlternateAttack(){
         animationController.AnimateAlternateAttack();
 
         AttackObject attackHitbox = ObjectFactory.CreateAttackObject(
@@ -48,6 +48,6 @@ public class TestWeapon : WeaponObject{
             objectName: "TestWeapon Hitbox"
         );
 
-        ObjectFactory.DestroyObject(attackHitbox, 1f);
+        ObjectFactory.DestroyObject(attackHitbox, 0.5f);
     }
 }
\ No newline at end of file
diff --git a/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs b/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs
index 14a7ad93873298f848ea66260191ab398c87f22b..0c7194c757f6c5d4002904f592f8e8bdf8d94bbe 100644
--- a/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs
+++ b/Assets/Scripts/Core/Objects/Weapons/WeaponObject.cs
@@ -1,4 +1,5 @@
 using System;
+using System.Collections;
 using UnityEngine;
 
 public abstract class WeaponObject : MonoBehaviour {
@@ -7,6 +8,11 @@ public abstract class WeaponObject : MonoBehaviour {
     protected IArmed bearer;
     [SerializeField] protected float BaseDamage;
     [SerializeField] protected float KnockbackPower;
+    [SerializeField] protected float AttackInterval;
+    [SerializeField] protected float AlternateAttackInterval;
+    public event Action OnAttackEvent;
+    public event Action OnAlternateAttackEvent;
+    [SerializeField] private bool canAttack;
 
     // Constructor
     protected void Start(){
@@ -14,9 +20,34 @@ public abstract class WeaponObject : MonoBehaviour {
         if(bearer is Player) bearerType = AttackObjectType.PLAYER;
         else if(bearer is EnemyEntity) bearerType = AttackObjectType.ENEMY;
         else bearerType = AttackObjectType.ENVIRONMENT;
+
+        canAttack = true;
+        OnAttackEvent += OnAttack;
+        OnAlternateAttackEvent += OnAlternateAttack;
     }
 
     // Functions
-    public abstract void Attack();
-    public abstract void AttackAlternate();
+    public virtual bool Attack(){
+        if(!canAttack) return false;
+        canAttack = false;
+        StartCoroutine(DelayAttack(AttackInterval));
+        OnAttackEvent?.Invoke();
+        return true;
+    }
+
+    public virtual bool AlternateAttack(){
+        if(!canAttack) return false;
+        canAttack = false;
+        StartCoroutine(DelayAttack(AlternateAttackInterval));
+        OnAlternateAttackEvent?.Invoke();
+        return true;
+    }
+    
+    protected abstract void OnAttack();
+    protected abstract void OnAlternateAttack();
+
+    private IEnumerator DelayAttack(float time){
+        yield return new WaitForSeconds(time);
+        canAttack = true;
+    }
 }
diff --git a/Assets/Scripts/Core/Player/PlayerInputController.cs b/Assets/Scripts/Core/Player/PlayerInputController.cs
index fb22866ae64f17158a110ca96a8bb20278d41b78..39031e31d93b47a99765eeec1d7468695632f78d 100644
--- a/Assets/Scripts/Core/Player/PlayerInputController.cs
+++ b/Assets/Scripts/Core/Player/PlayerInputController.cs
@@ -27,7 +27,7 @@ public class PlayerInputController{
             Debug.Log("Player is Attacking (alternate)");
             if(player.Weapon == null) return;
 
-            player.Weapon.AttackAlternate();
+            player.Weapon.AlternateAttack();
         }
         else if(Input.GetKeyDown(GameInput.instance.interactButton)){
             Debug.Log("Player is interacting");
diff --git a/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs b/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs
index cae128a5ae73f4888fb8cfac20e754fb8d81ef2a..6ce9b0b2f8ab682cc791facd1dcb238e65e590a3 100644
--- a/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs
+++ b/Assets/Scripts/Library/BaseClasses/EntityObject/AttackObject.cs
@@ -37,17 +37,20 @@ public class AttackObject : MonoBehaviour, IAttack{
     }
 
     protected bool Hit(Collider otherCollider){
-        otherCollider.transform.TryGetComponent<IDamageable>(out var damageableObject);
+        
+        // Note: Hitboxes are traditionally placed within a model, therefore we get the damageable component from its parent
+        Transform objectParent = otherCollider.transform.parent;
+        objectParent.TryGetComponent<IDamageable>(out var damageableObject);
         if(damageableObject == null) return true;
         
         
         if(damageableObject.Damageable){
-            Debug.Log(string.Format("Hit in hitbox of {0} by {1} with damage of {2}", transform.name, otherCollider.transform.name, Damage));
+            Debug.Log(string.Format("Hit in hitbox of {0} by {1} with damage of {2}", transform.name, objectParent.name, Damage));
             
             damageableObject.InflictDamage(Damage);
             OnDamageEvent?.Invoke();
 
-            otherCollider.TryGetComponent<IRigid>(out var rigidObject);
+            objectParent.TryGetComponent<IRigid>(out var rigidObject);
             if(rigidObject != null) Knockback(rigidObject);
 
             return true;
diff --git a/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs b/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs
index 4be30a75f5a0b9c9e9d13965e814781b19dd7361..32010031f9b90d1048ed3457c804ecd66b27d680 100644
--- a/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs
+++ b/Assets/Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs
@@ -5,11 +5,9 @@ public class WorldEntity : WorldObject, IRigid {
     [SerializeField] private float knockbackResistance;
     [SerializeField] private float baseSpeed;
     private new Rigidbody rigidbody;
-    private new Collider collider;
     
     // Set-Getters
     public Rigidbody Rigidbody => rigidbody;
-    public Collider Collider => collider;
     public Vector3 Position => transform.position;
     public float KnockbackResistance {
         get => knockbackResistance <= 0? 1 : knockbackResistance;
@@ -23,11 +21,8 @@ public class WorldEntity : WorldObject, IRigid {
     // Constructor
 
     protected void Start(){
-        rigidbody = GetComponent<Rigidbody>();
-        collider = GetComponent<Collider>();
-
+        rigidbody = GetComponent<Rigidbody>();        
         if(rigidbody == null) Debug.LogWarning("Rigid entity " + name + " does not have a rigidbody"); 
-        if(collider == null) Debug.LogWarning("Rigid entity " + name + " does not have a collider"); 
     }
 
     // Functions
diff --git a/Assets/Scripts/Library/Interfaces/IRigid.cs b/Assets/Scripts/Library/Interfaces/IRigid.cs
index 7b092eb92728ddd98c92591458b915ec967bedf3..2fd374b09d5600d0777be3d7ca6e2632721f5077 100644
--- a/Assets/Scripts/Library/Interfaces/IRigid.cs
+++ b/Assets/Scripts/Library/Interfaces/IRigid.cs
@@ -4,7 +4,6 @@ using UnityEngine;
 
 public interface IRigid{
     public Rigidbody Rigidbody {get;}
-    public Collider Collider {get;}
     public Vector3 Position {get;}
     public float BaseSpeed {get; set;}
     public float KnockbackResistance {get; set;}