Logic and rendering loop is called as often as possible, so Update () also.
However, the AddForce () method will not work when you call Update ().
The forces will be added only when the physical loop is called, and more specifically, when the physics loop is updated internally.
So in reality forces will be added in these moments of time.
And thus, the added forces will act on the body only from the moment of calling the physical loop and adding forces to the body.
What are the consequences of this situation?
In the picture above, we see that we do not add a constant force to the body. The total force acting on the body depends on the number of calls to the Update () method over a given time interval, because the forces add up.
From the above figure it can be seen that when the Update () method was called twice in the time interval 0.02 - 0.04, the double force will operate in the time interval from 0.04-0.06.
Look at the individual time intervals and forces acting on the body.
The acceleration value and speed value change continuously depending on the number of calls to the Update () method.
The body will not move with constant acceleration.
What are the consequences of adding forces in Update ()?
The body movement will depend on the performance of the application. Weaker forces will be addedto bodies on weaker devices. On better devices, larger forces will be added to the rigidbodies.
The velocity of the bodies will depend on the performance of the device.
The motionof the body will be jerky and unpredictable.
You had the opportunity to see him in the first examples with spheres.
Where to add forces to rigidbodies?
Methods such as AddForce () / AddTorque () should be called in FixedUpdate () (or other methods related to the physical loop).
If any method will cause the body to move with constant acceleration for a longer period of time, it should be called in FixedUpdate ().
In the case when we add force to the body only once, we can use the AddForce () / AddTorque () method also in Update (). An example of such a situation can be firing a projectile, where only at the beginning of motion we add force on the projectile.