SystemFont
Always-on global fallback to OS-installed fonts. Resolves codepoints no assigned font covers via the platform's native cascade API and caches matches as bare Core companions; these are plain runtimes (no ScriptableObject), so they can be constructed on worker threads. Consulted by UniTextFontStack as the last fallback. Turn off with Disabled.
Turns off the automatic, implicit OS fallback — the gap-filler appended after a component's assigned fonts, and the OS-default primary used when nothing is assigned. An explicitly assigned UniTextSystemFont (in the Font field or a Font Stack) is unaffected: its primary, its OS gap-fill for codepoints it doesn't cover, and its real Bold/Italic cuts all keep working. When true, components with no system font assigned render uncovered codepoints as missing-glyph boxes. Setting it invalidates resolved text so resolution re-runs.
public static Core Default{ get }The project-wide system font: the configured SystemFont when set, otherwise the OS default sans-serif (resolved once). Used as the final fallback in every font chain and as the primary for a component with no assigned font or stack. Null where neither is available (e.g. WebGL). Main-thread only.
public static Core TryResolve()Returns a companion runtime that covers codepoint, or null if no OS font does (or fallback is Disabled). When stylePrimary is given, the companion inherits its custom render settings (scale, SDF detail, tile size, italic, spacing, fake-bold) via a per-primary clone over the shared font bytes, so different primaries don't share styled state. Hot path is lockless via thread-local L1 cache; cache misses take a reader lock; new companions take a writer lock.
public static Core TryResolveStyled()Returns an OS companion covering codepoint with a real cut matching weight (CSS 1-1000) and italic, or null when no styled cut covers it (the caller then keeps the regular companion and synthesizes bold/italic). stylePrimary re-skins it with that font's render settings. The styled result lives in its own generation, so styled and upright fallbacks coexist.
public static Core TryResolveStyledFamily()Resolves the real weight/italic cut of family from the OS font system (e.g. Times New Roman → Times New Roman Bold) and confirms it covers codepoint. Unlike TryResolveStyled, the family is pinned by name via the platform's own matcher (DirectWrite FindFamilyName, CoreText/fontconfig family match), so the styled cut stays in the same typeface rather than whatever family happens to cover the codepoint. Returns null when the family has no covering styled cut installed — the caller then falls back to the codepoint cascade. Re-skinned with stylePrimary's render settings.
public static Action DisableChanged