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
- Text is unreadable when DLSS is applied to the Canvas with Render Mode set to World Space
- NullReferenceException errors appear in the Console when changing the values of Visual Effect Control Clip Events' Attributes
- Crash on TextCore::OTL_TableReader::GetOpenTypeLayoutTables when using Japanese Font as TMP Fallback
- TreeView.AddItem performance regression when opening EditorWindow
- Shadows are not visible in Player when using DX12 with Forward+ or Deferred+ rendering in URP
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.