I can set a world canvas width and height to something small (say 5 x 5) and increase the dynamic pixel density to something like 100 or 300 to actually get an intelligible image with a small canvas.
The problem is, if I add a text ui component as a child under this canvas, the text size is all messed up where only sizes 1 through about 4 will be visible. Is this a bug or a feature?
It seems as though text size is based on world coordinates and not scaled with the canvas (which just didn’t seem intuitive to me). Small canvas on the left, large one on the right. Both have text size of 1.
The only thing that actually scales a canvas down is the canvas transform scale values.
Canvas Width and Height just change amount of units the canvas covers (does not affect text scale)
World canvas dynamic pixel density only increases pixel resolution of canvas (and has odd effects on the position of the text, such as having very little effect at small canvas scales)
Text scale affects the entire text box (which might give unexpected placement results but might work)
Text size is capped from 1 to 300 and can only be an integer so is hard to tune correctly.
In order to keep all your world canvases sized properly I suggest setting an decently sized canvas height and width depending on whatever world UI you’re trying to render at a standard pixel density, then scaling that world canvas to where you want it to fit into. If you want a higher or lower pixel density you’ll probably have to reposition everything.
World Space canvas is best used with diegetic ui (like the speedometer on a car). So depending on your distance from the camera the Text will look smaller just the same as any object would.
Also Hierarchy does effect the sizes, so if you create a world canvas and scale the y axis way up, and create a UI text inside. the UI text will have a y scale of 1, except the text looks distorted way up.
While if you create a UI text outside of this canvas, and drop it in, the y scale will shrink down to keep the size and look normal.
Attached is a picture of what I mean. The left one is scaled 1,1,1. while the right has 1,.07,1.