Character Controller without curved edges?

I honestly have no idea whether this is the right place to post this or not.

I’ve been building the backend systems for an old-school FPS game (think Duke Nukem or Blood) and want to get started on the character controller.

I’ve looked at RigidBodies because I want to be able to push objects but it looks as though that introduces a load of potential physics glitches and exploits.

Other option is the Character Controller. The problem there is that it comes as a capsule, no ifs ands or buts.
One of the few gripes I have with more modern character controllers in video games is that they slide around because the capsule has curved edges at the bottom, so if you’re on the very edge of something you can slip off.

It seems as though the Character Controller is the best way to go, but is there any way at all to avoid this from happening? any way to remove that issue while maintaining say moving up steps properly?

Although a lot of games do use capsule shaped character controllers, there’s a lot more variation out there than what initially meets the eye. Mario 64 uses a cylinder shape, Overgrowth uses two spheres, and whatnot.

Unity provides OverlapSphere, Box etc along with Physics.ComputePenetration to help with constructing custom character controllers. There’s a whole lot more to dig in to with custom CCs, but those two videos are excellent refs to get started.