Rigidbody RotateAround

How in unity to implement RotateAround through a Rigidbody?

If your rigidbody is kinematic, you can use MovePosition and MoveRotation. You can add RotateAround to the Rigidbody class pretty easily, but remember to call it on FixedUpdate

public static class ExtensionMethods
{
    public static void RotateAround(this Rigidbody rb, Vector3 point, Vector3 axis, float angle)
    {
        Quaternion rotation = Quaternion.AngleAxis(angle, axis);
        Vector3 deltaPos = rb.position - point;
        rb.MoveRotation(rotation * rb.rotation);
        rb.MovePosition(point + rotation * deltaPos);
    }
}

As you can see, you calculate the rotation quaternion, and apply it to both the rotation, and the vector from point to the rigidbody.

For a non-kinematic rigidbody, this is more complicated, as you have to calculate both the velocity and angular velocity. Comment on this question if you need code for that.