top of page



Rigidbody vs Character Controller
In this demonstration, the object controlled using Character controller will be coloured blue while the object controlled using rigidbody will be coloured red.
​
The purpose of this demonstration is not to decide which is better but to simply show the differences between them.
Movement
In this demonstration, it shows the difference of how the force is applied to the different objects, resulting in movements that are different from each other. The speed for both objects are the same and are controlled using the same key (W key). You can see when the key is pressed down by the UI on the bottom of the video.
​
Because rigidbody have mass to them, the force added to them require some time before it can reach it's max speed. When the force stops, the rigidbody object continues moving due to inertia, and it takes time before friction/drag slows it down and stops.
​
Character controller on the other hand simply moves at a fixed speed when the force is applied and stops when the force have been stopped.
Going uphill
In this demonstration, we take a look at how they each handle going up a slope. The slope in this experiment is at 35 degrees and they both have the same speed when on a flat ground.
​
As you can see in the video. The object using character controller have no problems going up hill and maintains the same speed throughout.
​
However. the object using rigidbody slows down drastically due to it's weight and friction being taken into account. Another reason is because the force acting on the rigidbody is trying to push the object into the slope (towards the right, perpendicular to the flat floor) instead of pushing the object up the slope (parallel to the slope). Hence because of this, it have trouble going up the slope.
Going downhill
The same can be observed for going downhill.
​
While the object with character controller goes down at a constant speed, the rigidbody object goes down at a faster speed due to gravity and mass acting on the object. Hence pushing the rigidbody downwards at a much faster pace.
Going uphill (speed adjusted)
In this demonstration, we have the same setup as the other going uphill demonstration. However in this presentation. The speed for the rigidbody has been increase to match the speed of the object with character controller while going uphill.
​
As you can see the rigidbody object is much faster on a flat surface compared to the object with character controller but is the same speed on the slope.
​
Once the rigidbody object have reached the top of the slope, it flies off the slope and loses contact with the floor for a short moment of time while the object with character controller is on the ground throughout.
​
This is again due to the nature of rigidbody having mass and inertia. While it is realistic, it might be irritating for first person shooter games (FPS) where the player is able to sprint at a much faster pace.
Going downhill (starting of the decent)
Lastly, this demonstration shows the same as the going downhill demonstration but this video contains the starting of the decent and shows the differences of each object when transitioning from a flat ground to a downwards slope.
​
Similar to the previous uphill experiment. The rigidbody object flies off the slope before dropping and landing on the slope slight further down.
​
This can be irritating for example in games where you're going down a tunnel, as using rigidbody in it will cause the player to hit his head on the top of the tunnel while descending, causing the player to lose momentum.
bottom of page