Custom character controller for platformers (part 2)
After around 25 hours total on this project, this is the state of the 3D platformer prototype. The biggest work has been on the character controller, which has very robust custom physics on it, far superior to the original character controller built into unity. Features include cylindrical ground collision (acts like a cylinder when standing at the edge of platforms, whereas most character controllers will slide off or dip below the edge), robust stair climbing (as you can see, the character can climb even bizarre edge-case stairs where many custom character controllers will fail), slope climbing (up and down), sliding down steep slopes (a feature missing from the default character controller), and anti-getting-stuck handling (when stuck between two steep slopes, or a steep slope and a wall). In my main character script, I included variable jump height depending on how long you hold the button, and controllable jump physics, as well as a supersprint mode if you've been running for more than one second. All the physics in the character controller are done from scratch, without using rigidbodies for the physics. I also set up the animator, although the character is from Mixamo and the animations are from a free animation pack.