How I Learned to Stop Worrying and Love the Stock Character Controller

Character control. One of the most important aspects of any game, and yet, I perennially struggle with it. Ludum Dare entries City Beneath the Surface and Dirty Fork both got heavily dinged for clumsy controls. I knew that Dehoarder 2 still had some of those same issues going into the expo, despite many hours of effort toward eliminating them.

Luckily, these issues did not detract significantly from peoples’ fun with the game at the expo. Still, I cringed every time I watched someone slowly climb Harry up his driveway using my clumsy, rigidbody-based, custom written character controller. I winced every time someone plowed up the steps, only to get hung up on the threshold between the stairs and the floor. I wanted to pull my hair out every time someone got caught on a doorway multiple times while trying to maneuver into a room. I knew that all of these points of frustration were my doing.

So, earlier this week I took an extreme measure. I disabled my rigidbody-based, custom written character controller, and replaced it with the stock Unity character controller. After two minutes of playtesting, I reddened my forehead thoroughly with multiple open-handed percussive blows from my palm. Why hadn’t I done this sooner? All of the aforementioned issues were gone.

Controlling Harry now feels smooth and silky, more like driving a BMW and less like driving a turnip.

So yeah. I think it might be a while before I try to implement something custom for 3D first/third person character control again.