Character controller collision with a non rigidbody collider

I have a character controller that has movement each frame.

player.cc.Move(direction * Time.deltaTime);

Whenever a moving collider (with no rigidbody) comes into contact with it the character will be pushed out of the way. When it’s pushed out of the way it “teleports” to the location. I was wondering if there is an easy way of smoothing this collision movement out?

I could try to hack something together with, Unity - Scripting API: CharacterController.OnControllerColliderHit(ControllerColliderHit), but was just curious if there is an easier way.

EDIT: It looks like the movement I’m seeing is this, Unity - Scripting API: CharacterController.enableOverlapRecovery, if I disable that then the collision movement is not happening.

EDIT2: Do you all recommend using Rigidbodies over character controllers?

Yes.

Although using a rigidbody for a character may also give you problems if moving other objects that don’t have a rigidbody on them. In general it’s problematic to be moving objects around by changing their transform, especially if wanting realistic collision responses.

For example - if a rigidbody goes to sleep because of inactivity and another object touches it that doesn’t have a rigidbody then the rigidbody will remain sleeping and won’t respond at all.

Alrighty, thx zulo3d.