最初にTextにContentSizeFitterコンポーネントを追加し、次に[HorizontalFit]プロパティを[PreferredSize]として選択します。(この代表者は実際の幅に適応します)
この時点で、RectTransformのWidthプロパティが灰色になっていることがわかります。表示されるテキストコンテンツを変更してみると、テキストの幅がテキストの長さに応じて自動的に変更されます。
このとき、スクリプトで取得したRectTransformのsizeDelta.xは、このときのテキストの幅になります。シーンに追加してテキストコンテンツを変更する場合は、最初にContentSizeFitterのSetLayoutHorizontalを呼び出す必要があります。これにより、幅がリアルタイムで更新されます。そうしないと、幅が誤って取得される可能性があります。
this.fitter.SetLayoutHorizontal();
RectTransform rect = this.text.GetComponent<RectTransform>();
Debug.Log("width is " + rect.sizeDelta.x);
注意すべき点の1つは、正しい幅を取得する場合は、テキストノードとそのすべての祖先ノードのアクティブな属性がtrueであることを確認する必要があります。そうでない場合、幅は0になります。