Better explanation of FixedUpdate?

The only information on FixedUpdate that I have found is that it is called every fixed framerate.

Is that framerate always the same?

If yes, than what is it? If no, than how is it determined, and when is it subject to change?

Can I put code to get inut in FixedUpdate with no negative effects compared to using Update?

I am trying to code something similar to the “ghost” feature in many racing games (which records all of your movement, and applies it to a semitransparent collision free duplicate of your character, which runs as you play the game), and I thought I would maybe use a code in FixedUpdate to record movement values, and in another script call them using FixedUpdate. I need to make sure that this would work though, hence the questions…

(I am a scripting noob and want to make sure my approach will potentially work before figuring out how to implement it.)

Thank you for your time.

It depends on what you have it set to in the time manager. However it would probably be better to use InvokeRepeating instead and just store 5-10 data points per second which you can lerp between when playing back, instead of 50 (default for physics framerate), which is a lot.

–Eric