If you type text into regular Unity UI Text, it will take into account whitespace at the end when calculating position of the aligned text and preferred width of the element. But TextMesh Pro UGUI never does. It seems that white space at the end of string is completely ignored. The only thing I could do is adding "<size=0>." at the end. This is ugly and my Input Fields no longer work properly. Also there is a strange Input Field behavior that I think is related to this. When setting text alignment to right, and typing some spaces into Input Field, text shifts to the left. But when erasing them, text does NOT shift back to the right! Also the area with that spaces, that area doesn't catch raycasts, if I click there with no raycast target on Input Field root object, it will be deselected. If I want to implement said feature, I guess I should inherit from TMP_Text or TextMeshProUGUI. Which one to choose and what to override?