Vector3 direction =
    target.position -
    transform.position;

direction.y = 0f;

if (direction.sqrMagnitude > 0.001f)
{
    Quaternion targetRotation =
        Quaternion.LookRotation(
            direction
        );

    transform.rotation =
        Quaternion.Slerp(
            transform.rotation,
            targetRotation,
            rotationSpeed *
            Time.deltaTime
        );
}