Update is a function which is called every frame. We use it for anything which needs to be updated every frame- except for physics-based functions
FixedUpdate is called every physics step and is used to update any Physics-based actions.
Unity has provided a quick video on the topic of FixedUpdate vs Update which you should watch
You don't have to use GetAxisRaw if you would prefer to use GetAxis
Here is a quick video about using GetAxis to control how it feels to move your character
Vectors are very important in Unity and understanding them is a key which unlocks a great deal of potential.
You don't have to understand everything now, but here's a visualization of what we just did
The Player's Transform component tells us which direction is forward and which is right.
We scale these Vectors by multiplying their magnitude by the horizontal and vertical inputs from the user.
We then add these directions together
Normalizing vectors make sure they all have a magnitude of 1. Since adding the two vectors together produces a vector whose magnitude is larger than 1, it means the player will move faster going diagonally. So we normalize it
You'll first want to add a surface for your player to walk on. You can just use a cube or a plane if you don't have something already.
If you do, you'll notice something like this happens
Okay, that's not so pretty. When forces act on our Rigidbody it just falls over and rolls around.
Let's fix that in the next step!
Speaking of falling. There is one thing we need to fix in our Move function.
You might notice if you walk off an edge, the Player falls extremely slowly. No it's not because gravity is set too low...
Let look at our Move function again