Handling movement and jumping physics?

I want to make a 3D platformer to learn Unity, but I’m unsure about what direction I should take in terms of how I should implement the movement of the character.

At first I was drawn to using the CharacterController component for obvious reasons. However it seems that much of the physics of the character need to be explicitly implemented (i.e. jumping/falling physics). I’m fine with doing, but I would like to know the best practices for implementing mechanics in Unity.

To this end, I would like to know, what would be the best way to handle character phyiscs and movement? Would CharacterController be used primarily for it, with all the phyiscs done via scripting? Or would a RigidBody be used to handle it? Or are there other methods to it too?

Thanks, all help appreciated!

You could always try one of each. On top of that, there are the standard assets that you can (might have already?) installed with your Unity installation. Try to find one that seems right for you…

Now, that being said, I should back up a bit here… When you say “to learn Unity”, are you brand new here?
If so, I would highly recommend that you look at the Learn section on the website. You can lookup tutorials, references, full projects, live training, etc… Any/all of that will help you immensely as you’re learning & using Unity.

Have some fun :slight_smile:

1 Like