Download Kinematic Character Controller Free Unity.
*This asset requires programming knowledge, and support regarding the implementation of specific gameplay features may be limited*
What is Kinematic Character Controller?
Kinematic Character Controller a relatively low-level character controller solution that is not tied to any specific game genre and is made to be cleanly integrated into any project/architecture with as little friction or bloat as possible. Instead of using rigidbody physics, it uses a “collide and slide” algorithm that makes its movements perfectly fluid, precise and responsive. Note that its “kinematic” nature means that it will not get pushed by forces or rigidbodies automatically. These sorts of interactions have to be explicitly scripted.
Who is it for?
Strong programming and 3D math knowledge are required in order to use this package. This is by no means a “plug-and-play” solution, and it expects you to write your own input, camera, animation and velocity/rotation-handling code. It was made for users who wish to have the full freedom of writing their own game-specific character controllers, but want to have a strong foundation to start with.
How is it used?
You add a “KinematicCharacterMotor” component to your GameObject, and then create your own custom class that implements an ICharacterController interface and assign it to the motor, giving you various “callbacks” from the motor. Examples of these callbacks are: UpdateVelocity, UpdateRotation, IsColliderValidForCollisions, etc…..