diff --git a/Assets/Resources/Models/Characters/Basic1/Basic1Model.prefab b/Assets/Resources/Models/Characters/Basic1/Basic1Model.prefab
index 55f109f9675ce45d1a55259d29200d57e49b6fed..68a5a573db8770a6a2810546d29e7d99184187df 100644
--- a/Assets/Resources/Models/Characters/Basic1/Basic1Model.prefab
+++ b/Assets/Resources/Models/Characters/Basic1/Basic1Model.prefab
@@ -143,4 +143,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: dc4d5359067cdfb47a45684d6cc1482a, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  WeaponPivot: {x: 0.258, y: 0.75, z: 0.375}
+  staticWeaponPivot: {x: 0.2, y: 0, z: 0.375}
+  renderer: {fileID: 0}
+  bottomOffset: 0
diff --git a/Assets/_Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs b/Assets/_Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs
index d1e6506fa98c5980c477b8f5ce55f51595b7569d..0b955224a21414be1eb08a90a89926724e17affb 100644
--- a/Assets/_Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs
+++ b/Assets/_Scripts/Library/BaseClasses/EntityObject/WorldEntity.cs
@@ -84,8 +84,7 @@ public class WorldEntity : WorldObject, IRigid
             return;
         }
 
-        Vector3 center = transform.position;
-        Collider[] groundOverlaps = Physics.OverlapBox(center, groundDetectionSize, Quaternion.identity, groundLayers);
+        Collider[] groundOverlaps = Physics.OverlapBox(model.Bottom, groundDetectionSize, Quaternion.identity, groundLayers);
         grounded = groundOverlaps.Length != 0;
     }
 }
\ No newline at end of file
diff --git a/Assets/_Scripts/Library/BaseClasses/Model.cs b/Assets/_Scripts/Library/BaseClasses/Model.cs
index a9fc6ec81ae70cda4d6eddd84866c62c7555dee7..e87a0e39ecf7111b172daf5d8f83863989861e29 100644
--- a/Assets/_Scripts/Library/BaseClasses/Model.cs
+++ b/Assets/_Scripts/Library/BaseClasses/Model.cs
@@ -3,5 +3,24 @@ using UnityEngine;
 public class Model : MonoBehaviour
 {
     // Attributes
-    public Vector3 WeaponPivot;
-}
\ No newline at end of file
+    public Vector3 staticWeaponPivot;
+    public new Renderer renderer;
+    public float bottomOffset;
+    
+    // Set-getters
+    public Vector3 WeaponPivot => staticWeaponPivot;
+    public Vector3 Bottom => new(transform.position.x, transform.position.y - bottomOffset, transform.position.z);
+
+    // Constructors
+    protected void Start(){
+        Renderer renderer = GetComponent<Renderer>();
+    
+        #if STRICT
+        if(renderer == null)
+        {
+            Debug.LogError($"Did you seriously just create a model {name} without a renderer? How to resolve: Add a renderer (meshrenderer or skinnedmeshrenderer) to the model");
+        }
+        #endif
+        bottomOffset = renderer.bounds.extents.y;
+    }
+}