Quick answer: Unity Canvas with Pixel Perfect enabled renders blurry text after the camera zooms to a non-integer scale? Pixel snap conflicts with TMP SDF rendering - disable Pixel Perfect on TMP layers.

Pinch-zoom in a strategy game softens UI text. Disabling pixel perfect sharpens it but breaks sprite snapping.

Separate the canvases

One canvas with Pixel Perfect on for sprite UI; a second canvas without it for TMP text. Both can share a screen-space camera.

Use SDF AA instead

TMP's signed-distance-field rendering does its own anti-aliasing; pixel snapping fights it. Increase the SDF font asset's Padding to 8 for cleaner edges at non-integer scales.

Lock to integer scales

If your camera can only zoom in steps (1x, 2x, 3x), you sidestep the conflict entirely. Most pixel-art games take this approach.

“Pixel perfect is for raster art. Vector text needs to live outside it.”

For mobile, the pinch gesture often produces sub-pixel zoom values. Quantize to 5% steps in the gesture handler; players rarely notice and your text stays crisp.