In this course it is mentioned to change camera to LateUpdate, another solution, is any physics based code (movement etc) you put into FixedUpdate and not just standard Update, Update can then be used for camera as LateUpdate creates a slight delay.
The thing is, for the player character you don’t do the movement yourself but delegate it to the navigation system. All you do is set a target point for it to pursue.
You’d want to update the camera’s position in LateUpdate()
regardless because that’s the only way to ensure that it’s done when all other calculations in that frame are completed.