Character not moving

Never mind I forgot to attach the script to the character lol

Make some use of Debug.Log() to find out what’s wrong. For example, mostly everything in your code depends on isGrounded being true. Have you checked if it’s actually true? It probably is not.

Furthermore there are some other things you should pay attention to, even if they are probably unrelated to your problem. Most importantly, only use FixedUpdate for actual physics updates. Everything else goes into Update (or some visual stuff into LateUpdate). Namely this most certainly includes input handling. One neat way to handle this is the use of a state machine. So in update you get some inputs, and then decide which state to enter. States could be Idle, Walking, Running, Jumping, … and so on. In FixedUpdate you now only handle the actual physics you need to apply.
Not handling inputs in FixedUpdate has two major advantages. First of all, FixedUpdate is not guaranteed to run every frame. Thus checking for inputs in FixedUpdate, you can actually miss inputs such as KeyDown. Secondly, and most importantly, since Unity tries to call FixedUpdate at a fixed timerate, slowing down FixedUpdate can actually lead to an exponential slowdown of your game, contrary to slowing down Update, which only leads to a roughly linear slowdown of your game. So you really want to keep everything that can possibly be kept outside of FixedUpdate out of it. There are some nice articles on that too in case you want to read up on it.
Furthermore i’d personally recommend to always use all the curley brackets for if-statements. While it is technically not wrong to leave them out for one-liners, it often introduces very hard to notice bugs later on, once you add something to the if-statement and forget to re-add the brackets then.
One other minor thing is that there are shortcuts for things like Vector3(1,0,0), called Vector3.forward and such. You probably want to use these as well for readability reasons :slight_smile: