Normals
In order to uses physics collisions appropriately, it was required to identify how the objects were colliding. A player, for example, would not be landing on a platform if they hit it from underneath. So I decided that in collisions the normal should be calculated.
As all the colliders in this game were rectangle colliders, the normal only needed to be: above, right, below, or left. So I calculated the overlap rectangle of both colliders and checked which of the four sides the center of the overlap was closest to, this would determine which side had been hit by the object.
I then used the normal as a parameter in the OnCollisionEnter and OnCollision functions to determine how the objects should interact with each other based on how they collided.