Scan, audit, and edit text components across your project
The Font Scanner discovers every font asset in your project — TTF, OTF, and TMP SDF — and classifies each by its source: Google Fonts, Package, or Custom. It detects duplicate files via MD5 hashing so you can clean up redundant assets, and can create missing TMP SDF assets for any raw font that lacks one.
After scanning, each font is listed with its file path, source badge, and any duplicates highlighted.
You can ignore individual fonts (persisted via EditorPrefs) or batch-create TMP assets
for fonts that are missing them.
The Text Auditor scans every scene and prefab in the project for text components —
both TMP_Text and legacy UnityEngine.UI.Text —
and compares each component against the roles defined in the currently active palette.
The result is a compliance report that tells you exactly which components match a role
and which ones need attention.
The first row of pills filters by compliance status: ALL, NON-COMPLIANT, COMPLIANT, or IGNORED. The count next to each label updates after every scan. The second row filters by asset scope: ALL, PREFABS, or SCENES. Combine both rows to narrow results — for example, show only non-compliant prefabs.
Results are grouped by asset (scene or prefab). Each group header shows the asset name and a ratio like 2/3 compliant, so you can immediately see which assets need work. A PASS badge means every component in that asset matches a role; PARTIAL means some do not.
Clicking EDIT on any component in the auditor opens the Text Editor tab. The left side lists every text component in the selected asset; the right side shows editable fields for the active component.
The left panel lists all text components in the selected asset. The right panel shows the current component's info, a live preview, and role comparison cards for each palette role. Click any role card to apply that role instantly. Use SAVE to write changes back, or REVERT to discard.
Some text components are intentionally non-compliant — debug overlays, placeholder text, third-party UI, etc. You can exclude any component from compliance checks by clicking IGNORE in the auditor.
This adds a FontComplianceIgnore MonoBehaviour to the GameObject.
An optional reason field lets you document why the component is excluded.
To bring it back into compliance tracking, click the RESTORE button,
which removes the FontComplianceIgnore component.
FontComplianceIgnore is a lightweight runtime component. It has no performance impact.
The recommended end-to-end workflow for achieving full typographic compliance: