Trigger yerine Bool kullanın ve sürekli çalıştırmak yerine bir kere çalıştırın. Ayrıca input değerlerini update metotu içinde alıp rigidbody işlemlerini fixedupdate'de gerçekleştirin.
Benzer bir kod fikir vermesi açısından.

if (_joystickController.IsMoving)
{
            if (_isMoving == false)
            {
                _isMoving = true;
                _animator.SetBool("isMoving", true);
            }
            
            Vector3 direction = _joystickController.Direction;      
            transform.Translate(direction * (_speed * Time.deltaTime), Space.World);
        }
        else
        {
            _isMoving = false;
            _animator.SetBool("isMoving", false);
        }
}