The equivalent of a Character Controller that can be rotated

I need pretty much everything the character controller has to offer (collision detection, step, smooth control ect.). However, I need to be able to rotate the player on all axis and the character controller component can’t be rotated. I don’t want to use a rigidbody as it causes to many problems.
By rotate I mean not having to have the y-axis as the controller’s up. I intend to play with the gravity a bit.

Any suggestions?

As the OP states, the CharacterController can’t be rotated relative to the default Vector3.up without getting wonky results, as far as I know.

However, the other alternative is really to use rigidbody and most “problems” are just the developer’s creation; give a specific example of what you want to do that a rigidbody can’t

Also, search any number of duplicate UA/Google Q&A on this same topic.