Steps to reproduce:
- Open the attached "TextFreeze" project
- Open the "SampleScene"
- From the Project window, select the "CalibriBold SDF.asset"
- In the Inspector, find Generation Settings > Atlas Population Mode property
- Change it from "Static (Obsolete)" to "Dynamic"
- Observe the Editor
Alternative reproduction steps (from fresh project):
- Create a new 3D URP project
- Import the attached "CalibriBold.ttf" font and select it
- Go to Window > Text > Font Asset Creator
- Attach the imported font as "Source Font" then Generate Font Asset and save it to project
- In the Hierarchy, right-click > UI Toolkit > Panel Renderer
- In the Inspector, click "New" and open it in UI Builder
- Add a label to the Hierarchy
- In the Inspector, expand the Text foldout and assign the created Font Asset into the Font property
- Save and exit UI Builder (observe errors appearing Console)
- Select the created Font Asset from the Project window
- In the Inspector, change its "Atlas Population Mode" from Static to Dynamic
- Observe the Editor
Actual results: Editor freezes and "Hold on" popup appears, Unity rapidly consumes all available disk space and process needs to be killed from Task Manager
Expected results: The Atlas Population Mode changes without freezing the Editor or abnormally consuming disk space
Reproducible with versions: 6000.5.0a9, 6000.5.0f1, 6000.6.0a7
Not reproducible with versions: 6000.4.12f1, 6000.5.0a8
Tested on (OS): Windows 11
Notes:
- Reproduces with both TextCore and TMP
- Does not reproduce on macOS 26.5
- The Font Asset must be referenced by a UI Toolkit element to reproduce - i.e. assigned to a Label in a UXML that's used by a Panel Renderer / UIDocument (as set up in UI Builder). It does not reproduce if the Font Asset is not referenced/in use anywhere
- Disk space is reclaimed after the process is killed but the drive fills completely during the freeze, risking failed writes, project/data corruption, and loss of unsaved work, plus OS-wide instability while full