diff --git a/Assets/MainAssets/Agents/Animator/LocomotionFinal.controller b/Assets/MainAssets/Agents/Animator/LocomotionFinal.controller
index e41bf10b5e6058c5d4891adee8c26f5a2527bd3f..611ba036168f2ee2070c776c4f51f3b53c53b664 100644
--- a/Assets/MainAssets/Agents/Animator/LocomotionFinal.controller
+++ b/Assets/MainAssets/Agents/Animator/LocomotionFinal.controller
@@ -3147,10 +3147,10 @@ AnimatorStateMachine:
     m_Position: {x: -516, y: -504, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 1102964328578706210}
-    m_Position: {x: -516, y: 96, z: 0}
+    m_Position: {x: -510, y: 100, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 1102880699750407020}
-    m_Position: {x: -516, y: 336, z: 0}
+    m_Position: {x: -520, y: 330, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 1102743880108120760}
     m_Position: {x: -540, y: 0, z: 0}
@@ -4445,6 +4445,9 @@ AnimatorStateTransition:
   - m_ConditionMode: 6
     m_ConditionEvent: AnimationType
     m_EventTreshold: 2
+  - m_ConditionMode: 4
+    m_ConditionEvent: Speed
+    m_EventTreshold: 0.01
   m_DstStateMachine: {fileID: 0}
   m_DstState: {fileID: 1102964328578706210}
   m_Solo: 0
@@ -4542,6 +4545,9 @@ AnimatorStateTransition:
   - m_ConditionMode: 6
     m_ConditionEvent: AnimationType
     m_EventTreshold: 1
+  - m_ConditionMode: 4
+    m_ConditionEvent: Speed
+    m_EventTreshold: 0.01
   m_DstStateMachine: {fileID: 0}
   m_DstState: {fileID: 1102880699750407020}
   m_Solo: 0
@@ -4817,6 +4823,9 @@ AnimatorStateTransition:
   - m_ConditionMode: 6
     m_ConditionEvent: AnimationType
     m_EventTreshold: 3
+  - m_ConditionMode: 4
+    m_ConditionEvent: Speed
+    m_EventTreshold: 0.01
   m_DstStateMachine: {fileID: 0}
   m_DstState: {fileID: 1102743880108120760}
   m_Solo: 0
diff --git a/Assets/MainAssets/Scripts/Agents/ControlAnimation/AnimationController.cs b/Assets/MainAssets/Scripts/Agents/ControlAnimation/AnimationController.cs
index 115956c752c30cc6d4bc4573f8d237823de6d404..bfb13426cfa709423cf92ab1ad87027598c9e891 100644
--- a/Assets/MainAssets/Scripts/Agents/ControlAnimation/AnimationController.cs
+++ b/Assets/MainAssets/Scripts/Agents/ControlAnimation/AnimationController.cs
@@ -15,9 +15,11 @@ public class AnimationController : MonoBehaviour
     private uint agentID;
     private Vector3 _oldVelocity;
     private Quaternion _oldRotation;
-    private float _speed=0;
+    private string _oldState = "Idle";
+    private float _timeIdle=0;
+    public string _defaultIdleAnimation = "Idle";
 
-    public bool IsIdle { get { return _speed<0.00001; } }
+    public bool IsIdle { get { return _timeIdle > 1.0f; } }
 
     // Use this for initialization
     void Start()
@@ -34,6 +36,7 @@ public class AnimationController : MonoBehaviour
         _objectAnimator.speed = 0;
         _objectAnimator.SetFloat("Speed", 0);
         _objectAnimator.SetFloat("AngularSpeed", 0);
+        _objectAnimator.SetInteger("AnimationType", 1);
 
 #if MIDDLEVR
         _objectAnimator.cullingMode = AnimatorCullingMode.CullUpdateTransforms;
@@ -84,7 +87,32 @@ public class AnimationController : MonoBehaviour
 
 
             animationSpeed = position.magnitude / ToolsTime.DeltaTime / 1.4f;
-            _speed = animationSpeed;
+            print("agent");
+            print(animationSpeed);
+            print(_timeIdle);
+            if (animationSpeed > 0.01f)
+            {
+              _timeIdle = 0.0f;
+              if (_oldState != "Walk")
+              {
+                _oldState = "Walk";
+              }
+            }
+            else
+            {
+              // wait before entering idle state
+              _timeIdle += ToolsTime.DeltaTime;
+            }
+            if (IsIdle)
+            {
+              animationSpeed = 0.0f;
+              if (_oldState != _defaultIdleAnimation)
+              {
+                print("Switching to Idle Animation");
+                _oldState = _defaultIdleAnimation;
+                _objectAnimator.Play(_defaultIdleAnimation);
+              }
+            }
             _objectAnimator.SetFloat("Speed", animationSpeed);
             _objectAnimator.SetFloat("AngularSpeed", angularSpeed, 100f, ToolsTime.DeltaTime);
             _objectAnimator.SetBool("One-Eighty", false);