Configuration Reference
Texturge Beta’s configuration spans four levels: plugin-level settings (UTexturgeSettings), module dependencies (Build.cs), asset-level configuration (UTextAnimationBlueprint, UTextAnimationDataAsset), and instance-level parameter overrides (UAnimParameterOverrides).
Plugin Settings (UTexturgeSettings)
UTexturgeSettings is a configuration class inheriting UDeveloperSettings, defined in Source/Texturge/Public/Settings/TexturgeSettings.h.
UCLASS(config = Game, defaultconfig, meta = (DisplayName = "文本动画 插件设置"))
class TEXTURGE_API UTexturgeSettings : public UDeveloperSettings
{
public:
static UTexturgeSettings* Get() { return GetMutableDefault<UTexturgeSettings>(); }
};
Access
UTexturgeSettings* Settings = UTexturgeSettings::Get();
Access the CDO singleton through the static Get(); since it inherits UDeveloperSettings, the configuration instance is managed automatically by the engine.
Project Settings Panel
Editor path: Edit → Project Settings → Plugins → Texturge.
Current Status
UTexturgeSettings currently has no configuration items — no UPROPERTY fields beyond Get(). All configuration is managed through animation assets and Blueprint variables.
NOTE
All runtime configuration is currently managed through animation Blueprint Class Defaults (Blueprint variables as parameters),
UAnimParameterOverrides, andFAnimationEntryoverride maps — not through the Project Settings panel.
Module Dependencies
Texturge (Runtime)
// Plugins/Texturge/Source/Texturge/Texturge.Build.cs
PublicDependencyModuleNames.AddRange(new string[] {
"Core", "CoreUObject", "Engine",
"Slate", "SlateCore", "UMG",
"MovieScene", "MovieSceneTracks",
"DeveloperSettings",
});
TexturgeEditor (Editor)
// Plugins/Texturge/Source/TexturgeEditor/TexturgeEditor.Build.cs
PublicDependencyModuleNames.AddRange(new string[] {
"Texturge",
"Slate", "SlateCore", // Public layer (2026-07 refactor adjustment)
"UMGEditor",
"KismetCompiler",
"Sequencer", "SequencerCore",
"BlueprintGraph",
"PropertyEditor",
});
NOTE
The runtime module is named
"Texturge"(not"TexturgeRuntime"). Editor tools live in theTexturgeEditormodule, available only in editor builds and not packaged into runtime. The runtime module has no additional dependencies.
UTextAnimationBlueprint
The animation Blueprint asset (UBlueprint subclass) is the core configuration object for the plain text path.
| Property | Type | Description |
|---|---|---|
GlyphAnimations | TArray<TObjectPtr<UGlyphAnimation>> | glyph animation asset list (managed in the animation panel) |
Tracks | TArray<FTextAnimationTrack> | legacy track array (@deprecated, kept for compatibility; not used by the new workflow) |
StageTransitionConfig | FStageTransitionConfig | stage transition CrossFade config (Intro→Default / Default→Outro durations + easing, participates in fingerprint hashing) |
VariableNameToGuidMap | TMap<FName, FGuid> | stable GUID mapping for Blueprint variables (maintained by the compiler) |
CompileCount | uint32 | compile counter (increments on every compile, participates in fingerprint hashing) |
Blueprint variables as parameters: designers declare all animation parameters themselves in the Blueprint Class Defaults (float / int32 / bool / FVector / FLinearColor / FVector2D); there are no predefined parameters at the C++ layer (no ParentClass / BlendMode / Duration / CPS properties). Variables are read in the BuildDefaultAnimation event and modified at runtime through the Set Blueprint Variable nodes.
UTextAnimationDataAsset
The rich text tag → animation Blueprint mapping data asset (UDataAsset), referenced by UAnimatedRichTextBlock.
| Property | Type | Description |
|---|---|---|
Entries | TArray<FAnimationEntry> | tag → animation Blueprint mapping entry array |
FAnimationEntry Fields
| Field | Type | Description |
|---|---|---|
TagName | FName | rich text tag name (e.g. <anim id="wave"> matches "wave", case-insensitive) |
Type | TObjectPtr<UTextAnimationBlueprint> | animation Blueprint asset reference |
ParameterOverrides | TMap<FName, float> | Float parameter overrides |
IntParameterOverrides | TMap<FName, int32> | Int parameter overrides |
BoolParameterOverrides | TMap<FName, bool> | Bool parameter overrides |
VectorParameterOverrides | TMap<FName, FVector> | Vector parameter overrides |
ColorParameterOverrides | TMap<FName, FLinearColor> | Color parameter overrides |
Vector2DParameterOverrides | TMap<FName, FVector2D> | Vector2D parameter overrides |
bHideFirstFrame | bool | during sequential playback, entries not yet executed are fully transparent before the animation starts |
UAnimParameterOverrides
The per-widget-instance parameter override storage object (UObject, Instanced property) with 6 override maps:
| TMap member | Key type | Value type |
|---|---|---|
FloatOverrides | FName | float |
IntOverrides | FName | int32 |
BoolOverrides | FName | bool |
VectorOverrides | FName | FVector |
ColorOverrides | FName | FLinearColor |
Vector2DOverrides | FName | FVector2D |
Keys are variable names in the animation Blueprint. When multiple widgets share one Blueprint, each isolates through its own override map; the CDO is never modified.
Blueprint Variable System
The EAnimParamType enum (not a UENUM) identifies the supported variable types:
| Enum value | Corresponding C++ type |
|---|---|
Float | float |
Int | int32 |
Bool | bool |
Vector | FVector |
Color | FLinearColor |
Vector2D | FVector2D |
TAnimParamTraits Template Mapping
TAnimParamTraits<T, Owner> maps types to override map members at compile time, powering type-safe parameter overrides:
| Type | UAnimParameterOverrides specialization | FAnimationEntry specialization |
|---|---|---|
float | FloatOverrides | ParameterOverrides |
int32 | IntOverrides | IntParameterOverrides |
bool | BoolOverrides | BoolParameterOverrides |
FVector | VectorOverrides | VectorParameterOverrides |
FLinearColor | ColorOverrides | ColorParameterOverrides |
FVector2D | Vector2DOverrides | Vector2DParameterOverrides |
Companion macros and templates (AnimParamOverrideUtils.h / AnimParamTraitsHelpers.h):
DECLARE_ANIM_PARAM_TRAIT(CppType, OwnerType, MapMember, VerifyExpr, ApplyExpr)— generates UAnimParameterOverrides specializationsDECLARE_ENTRY_TRAIT(CppType, MapMember, VerifyExpr)— generates FAnimationEntry specializationsFOR_EACH_ANIM_PARAM_MAP(O, Func)— iterates all six override mapsApplyAnimParamOverridesToInstance<Owner>— writes overrides into the bake temporary instanceAnimParamNeedsReset/AnimParamReset/AnimParamSync— reset button mechanism
TIP
Adding a parameter type only requires: 1) adding a
TMapUPROPERTY; 2) one line ofDECLARE_ANIM_PARAM_TRAIT/DECLARE_ENTRY_TRAITspecialization.