Character slides sideways on obstacles

Hi
I have searched a lot for this and haven’t found a solution. Maybe is so simple that I shouldn’t be asking but if I have it in front of me, I’m not seeing it.

The situation:
I have a character that moves by adding to it’s transform.forward:

movement += speed * character.transform.forward * Time.deltaTime;
character.Move (movement);

that works fine, specially since I need to rotate the character and make it move towards the new facing direction, which I’m doing like this:

character.transform.rotation = Quaternion.AngleAxis (-angle, Vector3.up);

My problem is that when the character runs into an obstacle, like a wall, and the angle between the two is not 90, it starts sliding through the wall to the sides until it finds the end of the wall in which case keeps moving forward.

What I’m I not considering here? I would love to avoid checking for collisions against objects that I only want them to stop the character.
Thanks
Joe

Hi, I’m new to Unity and the forum, can anyone help me out with this?
THANKS!