public static void SetTextAndUpdateSize(
this TextMeshProUGUI text, string value,
RectTransform.Axis axis = RectTransform.Axis.Vertical)
{
text.text = value;
text.ForceMeshUpdate();
var rectTransform = text.rectTransform;
rectTransform.SetSizeWithCurrentAnchors(
axis, LayoutUtility.GetPreferredSize(rectTransform, (int) axis));
}