I have been fighting with this problem for a while now and have not found a solution.
When I give a TextMeshProUGUI a string formatted with string variables, a weird overlapping happens. There are no hidden characters as far as I can tell (had that problem at another point, this aint it).
The weird thing is I can use normal text perfectly, so it must be a TMP problem, or am I missing something?
I would really love to use TMP however, so it would be awesome if someone had a solution or workaround.
The best way to identify the potential source of the problem would be to iterate over the formatted string to check each char. Most likely you have a carriage return char(13) which is instructing TMP to return the carriage to the start of the line.
Okay - I have found an empty character with code 13 right where the problem lies by doing a loop over all the characters in the string. Now, how do I purge it from my string via code and why the heck is it there in the first place?