Search Issue Tracker
By Design
Votes
0
Found in [Package]
3.0.6
Issue ID
1337180
Regression
No
Text created with TextMeshPro becomes blurry when Canvas Scaler scales the text in full-screen Build
Reproduction steps:
1. Open project "Blurry Text.zip"
2. Open Scene "SampleScene"
3. Build project and Run "Ctrl + B"
4. Make sure you're in full-screen
5. Click the button "Switch resolution"
6. Observe text
Expected result: Text scales once and isn't blurry
Actual result: Text scales twice and is blurry
Reproducible with: 2.1.6 (2019.4.28f1), 3.0.6 (2020.3.12f1, 2021.1.11f1, 2021.2.0a21)
Could not test with: 2018.4.36f1 (Script doesn't work)
Notes:
- This doesn't happen when disabling Canvas Scaler Component
- Tested on Windows only
Comments (1)
-
Gladyon
Jun 16, 2021 06:38
I think that if it works when disabling the Canvas Scaler component it's because the text becomes so large than even if it's blurry it's still easy to read.
If you use smaller texts, then you'll see that it's blurry at lower resolutions.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mouse input is registered incorrectly in Custom RP when downscaling Render Target and rendering Overlay UI before final upscale
- Time.deltaTime is locked to the display's refresh rate when the built Player is moved to a Secondary Display and Windowed Mode is used
- Crash on RaiseException when importing a specific asset
- Crash on RaiseException when opening a specific project
- DownloadHandlerScript.CompleteContent is called twice when building for WebGL
Resolution Note:
This behavior is not specific to TMP but to trying to upscale lower resolution / sampling graphics (including text) to a higher resolution.
See the following detailed reply to this report on the forum forum. https://forum.unity.com/threads/blurry-textmeshpro-text-at-lower-resolutions-in-fullscreen.1118389/#post-7245659
As per the forum reply, the Canvas Scaler does play into this but again, the issue is simply due to trying to upscale low resolution data to a higher resolution where regardless of the upscaling algorithm used, we can't make up data / details that did not exist in the source data in the first place.