Back to API Reference
Class

UniTextSettings

sealed

Global settings ScriptableObject for UniText configuration.

Remarks

Access via Edit → Project Settings → UniText. Contains editor-only default configurations for new UniText components.
public static UniTextPaints Paints{ get; set }

Gets or sets the project-wide named paint swatch catalog.

public static StylePreset GlobalStylePreset{ get; set }

Project-wide StylePreset applied to every UniTextBase component without per-component opt-in. Behaves as one extra entry appended after each component's local StylePresets list, so local Styles and per-component StylePresets register first and win parse-rule conflicts.

public static UniTextSystemFont SystemFont{ get; set }

Project-wide system font. Serves two roles, both via Default: the always-on final fallback that fills coverage gaps after the assigned fonts, and the primary for components with no Font and no Font Stack. When null, the OS default sans-serif fills both.

public static bool SystemFontDisabled{ get; set }

Persisted mirror of Disabled. The setter pushes the value to the runtime flag; the saved value is pushed back on editor load (static constructor).

public static bool EmojiDisabled{ get; set }

Persisted mirror of Disabled. The setter pushes the value to the runtime flag; the saved value is pushed back on editor load (static constructor).

public static UniTextSettings Instance{ get }

Gets the singleton settings instance, loading from Resources if needed.

public static StateList<WordSegmentationDictionary> Dictionaries{ get }

Gets the configured word segmentation dictionaries.

public static int WorldBatcherShardTargetVertexCount{ get; set }

Target vertex capacity per shard mesh in the world-space batcher. A component's segments always share one shard, so this bounds how much unrelated text one structural rebuild re-bakes; a single component larger than the budget inflates its own shard instead of splitting.

public static float CaretBlinkTimeout{ get }

Seconds of inactivity before the caret stops blinking. Reads InstanceSilent — polled from the caret update loop, where a missing settings asset must degrade without per-tick error logs.

public static float CaretBlinkInterval{ get }

Caret blink half-period in seconds. Reads InstanceSilent (see CaretBlinkTimeout).

public static string Language{ get; set }

Gets or sets the project-wide BCP 47 language tag. Applied to any codepoint that has no component-level UniText.Language and no per-range <lang> override.

public static LineHeightMode DefaultLineHeightMode{ get; set }

Project-wide default line-height mode applied to every component without a per-range override. Mirrored to DefaultLineHeightMode.

public static float LineHeightScale{ get; set }

Line height as a multiple of font size when DefaultLineHeightMode is Scaled. Mirrored to DefaultLineHeightScale.

public static FontNormalizeMetric FontNormalizeMetric{ get; set }

Project-wide default font normalization metric (CSS font-size-adjust), applied to each component's font provider on init. None matches platform defaults.

public static float FontNormalizeTarget{ get; set }

Target aspect for FontNormalizeMetric (metric ÷ font size); 0 matches the primary font.

public static bool Affects()

Returns when a Changed payload identifies interestedMember or represents complete instance replacement.

public static void SetInstance(UniTextSettings settings)

Manually replaces the singleton settings asset (used by tests and custom initialization paths). Raises Changed with Reset because every reactive member may differ.

public static UniTextSettingsChangedHandler Changed

Occurs when a settings member has been mutated. The payload carries its generated StateMember, allowing subscribers to select their own exact reaction. Reset means the settings instance itself was replaced. Serialized editor changes are reconciled through the same generated transitions as runtime properties.