Class ScyllaFontCharacterExtractorWindow
Editor window for extracting supported characters from fonts and producing a compact
character-set string suitable for use with TextMesh Pro glyph atlases. Supports both
Unity TTF/OTF fonts and TextMesh Pro SDF font assets. Opened via
Tools > Scylla > Utilities > Font Character Extractor.
Inheritance
Inherited Members
Namespace: Scylla.Core.Editor
Assembly: ScyllaCore.Editor.dll
Syntax
public sealed class ScyllaFontCharacterExtractorWindow : ScyllaToolWindowBase
Remarks
The toolbar provides four actions:
-
Extract - starts the extraction. For TTF fonts, extraction runs
asynchronously in batches of 500 codepoints per
EditorApplication.updateframe to avoid freezing the Editor. For SDF fonts, extraction is synchronous (readsTMP_FontAsset.characterLookupTablein one pass). - Copy to Clipboard - copies the last extracted output string.
- Clear - clears the output and resets extraction state.
- Cancel - visible only during active async extraction; sets the cancellation flag so the update loop exits cleanly on the next batch.
The Font Source section contains an EnumField to switch between TTF and SDF
mode. Each mode shows only its relevant ObjectField; the other is hidden.
The Unicode Range section (Start Hex / End Hex + preset dropdown) is hidden when
SDF mode is selected because the SDF asset already declares its own glyph set.
Output is displayed in a read-only multiline TextField inside a scrollable
area. When "Include Unicode Values" is on, each character is printed as
U+XXXX 'c'; otherwise all characters are concatenated into a single string.
A stats label above the text field shows the extracted count and skipped count.
Methods
OnCreateGUI()
Called after the standard layout (toolbar, content, status bar) is created. Subclasses override this to add their panels and controls.
Declaration
protected override void OnCreateGUI()
Overrides
ShowWindow()
Opens the Font Character Extractor window, centering it on the main Unity Editor window at a default size of 600 x 800 px. If the window is already open it is focused. The minimum size is 400 x 400 px.
Declaration
public static void ShowWindow()