I have shipped several games using character controllers from commercial packages, and have been poking around with the btKinematicCharacterController trying to get at all the things I'm used to using, but so far haven't been able to find them. One of the things I've been trying to avoid is directly modifying the library, so mainly I've been looking for callbacks or virtual functions I can override.
The big things I'm looking for are:
The ability to discard, modify, and add contact surfaces, and surface velocities prior to final position solve.
The ability to modify friction values for upward slopes and downward slopes.
Are these things available and I'm just blind, or do I have to dig into the library code to get access to this information?