So I have no problem getting it to work with a characterController. It looks smooth when I walk/run/jump around. But I wanted to make it work with a rigidbody. There was no problem when I tried implementing it with 2D. I could get it to work for both a sidescrolling and a top-down game. But of course, thats quite "easy". All you have to do is either make the camera a child or set its position to that of the player(or use cinemachine, but I am to lazy to learn it properly)
But when I tried implementing it for a first-person game, you could see how the edges of things got "shaky" or "Blurry" when you move or jump, why is that? I dont get that problem with characterController. I have the same setup:
(1)An empty object as the player with scripts(and characterController/RigidBody)
(2)(child)A capsule object as the visual and collider
(3)(child)The Main Camera
See:

(So I cleaned up and took away some code to make it easier to read, so yes you can jump in all eternity)
Here is the code:
So I have a script for all the input called "PlayerInput", I then have 3 methods where I gather that input so I can use it, Move, look and Jump(I am a little confused on where the Jump force should be, its physics based, so I probably should have saved both Jump and Move with moveDirection and then applied that in FixedUpdate)
I have tried changing to LateUpdate for the camera, but the camera is a child of the player. So it should move at the same time, right? So that didnt work. I tried changing the RigidBody to Interpolate but that also didnt work. What am I supposed to do?