transform.positionをいじってでスクロールしようとするとかなり面倒なので、「1文字目を削除して文字列の最後に移す」という動きを実装することにしました。
書き方はこうです。簡単ですね。
TextMeshProUGUI tmp; bool isScroll = true; float space = 5; float speed = 0.2f; float counter; void Start() { if (!isScroll) return; GetComponent(); AddSpace(); } void GetComponent() { tmp = this.gameObject.GetComponent<TextMeshProUGUI>(); } void AddSpace() { for (int i = 0; i < space; i++) tmp.text += " "; } void Update() { if (!isScroll) return; if (Tool.IsNull(tmp) || tmp.text.Length <= 0) return; counter += Time.deltaTime; if (counter < speed) return; counter = 0; tmp.enableWordWrapping = false; string deleteLetter = tmp.text.Substring(0, 1); string newString = tmp.text.Substring(1, tmp.text.Length - 1); tmp.text = newString + deleteLetter; }