Overlay text seems to be easy to do, but put a canvas in the world, and the numbers seem really weird.
I have a small graphic 3 units wide, and I made the canvas match it in size. But when I add text, I can basically only fit about 1 letter per unit, with the font size set to 1!
It seems like the only answer is to change the scale of the Text’s RectTransform, but that is not very convenient because instead of changing font size (as you’d normally expect) I’m having to scale everything AND take account of the font size.
On top of this, I couldn’t even see the text for ages - turns out that the Canvas Scaler can set the ‘Dynamic Pixels Per Unit’ to a default of zero. Changing that to a positive number made it visible.
It seems like there should be a much more intuitive way to set the font size, especially since we have to balance 3 different values (dynamic pixels per unit, text scale, font size) against each other and against the camera distance.
I think what I’d prefer to see is a floating point value saying how large an ‘Em’ unit should be, in Unity units. The dynamic pixels per unit value would probably still have to exist, but font size would become proportional to that and no scaling would be needed.