Drag the object into the scene. Add a component to an object. The object should have one Collider and one Rigidbody have. The rigid body should be set to Kinematic. This means that the object does not move in the physics simulation unless it is moved by a script.

Activate Simulated and Use Full Kinematic Contacts.

The basic class is defined in the script and ensures that gravity works. Add PhysicsObject as a component. Choose New Script and open it with Create and Add. Double click and open the script in the visual editor.
Because it's Physics, add the FixedUpdate function:
void FixedUpdate ()
Within the FixedUpdate function, the object should move downwards with each frame because it is pulled downwards by gravity.
Therefore we need a variable for speed:
protected Vector2 velocity;
Other classes use the physical object. You should be able to access it, but not from outside the designated class.
The gravity can be influenced: A gravity value is required for this:
public float gravityModifier = 1f;
The gravity value is used in Unity's physics system. The whole thing is done with Time.deltaTime; multiplies and belongs to FixedUpdate:
velocity + = gravityModifier * Physics2D.gravity * Time.deltaTime;
Now it is defined where the object is after the effects of gravity:
vector2 deltaPosition = velocity * Time.deltaTime;
The new position is used for the movement:
Vector2 move = Vector2.up * deltaPosition.y;
Another function is defined:
void movement (Vector2 move)
Now an addition is made in FixedUpdate: The object should move based on the calculated values:
move();
This should happen on the basis of the Rigidbody2D:
protected Rigidbody2D rb2d;
There is also an OnEnable ();
rb2d = GetComponent ();
In the movement function it is specified that the movement takes place in each frame:
rb2d.position) rb2d.position + move;
The finished script for an object with gravity looks like this:

If you save the script and go back to Unity, the object falls down when you press play.