Moving the Player using Rigidbody physics

We want to add a Rigidbody Component to Player, and use gravity. Moving will be accomplished by applying a force to Player.

When using Rigidbody physics, Unity tells us to use the FixedUpdate() method, not the Update() method.

Look in Unity Manual | Creating GamePlay | Physics. Here's a quote:

If you move the Transform of a non-Kinematic Rigidbody directly it may not collide correctly with other objects. Instead you should move a Rigidbody by applying forces and torque to it.

Also, look in Scripting Reference | MonoBehaviour.FixedUpdate:

FixedUpdate should be used instead of Update when dealing with Rigidbody. For example when adding a force to a rigidbody, you have to apply the force every fixed frame inside ...

Get Learning C# by Developing Games with Unity 3D Beginner's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.