Physics in Unity. Introduction
Physics, in a very vague and incomplete definition, is the study of how things interact with each other. Do objects bounce off each other? Do they pass through each other? There are several questions that a developer must consider when making a game. Because unlike reality, we are 100% in control of 100% of our surroundings.*
*percentage based on your knowledge of the engine.
One of the first things in physics to consider is gravity. Is your game the type of game that requires the engine calculating gravity. For a 2d shooter in space, maybe not. For a platformer, probably yes.
Gravity is a simulated downward force that an object experiences that causes it to accelerate until it hits something, or has another force or piece of code act upon it. In the above image, the ship keeps going faster and faster while the powerup maintains a constant speed. The ship has gravity on it enabled, the powerup does not.
You can even declare something to be bouncy. All this cube has is a physics material applied that has its “bounciness” set to 1. No scripting required!
The engine can handle a lot of work here if you let it. So consider how you want your game to behave, and explore different ways of achieving it. In a lot of cases the code side is already handled by the engine and all you need is to fine tune some drag and drop elements.