Animation Blueprint Editor
Texturge provides a complete visual editing environment — the Text Animation Blueprint Editor (FTextAnimationBlueprintEditor), analogous to UMG’s Widget Blueprint Editor, purpose-built for text animation assets.
Editor Architecture
FBlueprintEditor (engine base class)
└── FTextAnimationBlueprintEditor (Texturge editor)
├── TextAnimBPDesignerMode ← Designer mode (opens by default)
└── TextAnimBPGraphMode ← Blueprint graph mode (event graph)
The editor inherits FBlueprintEditor, reusing the full blueprint editing framework (event graph, compilation, debugging, menus/toolbars) while adding text-animation-specific features.
Four-Panel Layout
Double-click a UTextAnimationBlueprint asset to open the editor, which defaults to Designer mode:
┌────────────────────────────────────────────────────────────┐
│ Toolbar (compile, playback, zoom, etc.) │
├──────────────────────┬──────────────────┬──────────────────┤
│ │ │ │
│ Designer Viewport │ Timeline │ Details Panel │
│ (real-time text │ (Sequencer │ (selected track │
│ animation preview) │ keyframe edit) │ property edit)│
│ │ │ │
│ Track List │ │ │
│ (add/remove/sort │ │ │
│ animation tracks) │ │ │
│ │ │ │
├──────────────────────┴──────────────────┴──────────────────┤
│ Status bar (frame count, character count, cursor position) │
└────────────────────────────────────────────────────────────┘
Designer Viewport
Analogous to UMG SDesignerView, providing a visual layout and preview environment for text animation:
| Feature | Description |
|---|---|
| Real-time preview | Text animation rendering at the current playhead position |
| Zoom & pan | Mouse wheel zoom, right-drag pan |
| Snapping grid | Grid snapping for layout alignment |
| Resolution preview | Multi-resolution / aspect ratio preview |
| Font metrics | Baseline, glyph bounds, line bounds visualization overlay |
| Rulers | Top and left ruler bars |
| Safe zones | Custom safe zone display |
The designer surface (STextAnimationDesignSurface) is the preview canvas, with STextAnimationPaintSurface (Effects Layer) overlaying selection outlines, hover outlines, and font metric guides.
The info bar overlay at the bottom of the designer displays current resolution, DPI scale, cursor position, character count, frame count, etc.
Track List
Panel for managing the FTextAnimationTrack array:
- Add track: Choose from the 10 track types (Opacity, Translation, Scale, etc.)
- Remove track: Delete the selected track
- Sort: Adjust
StartTimevia dragging or property editing to control track execution order - Enable/disable: Toggle with the
bEnabledswitch
Timeline
Embedded UE5 Sequencer editor for keyframe curve editing:
- FloatChannel curve editing (Opacity, Letter Spacing, Rotation)
- Vector2DChannel curve editing (Translation, Scale, Shear, etc.)
- ColorChannel curve editing (Color, Shadow Color)
- Standard Sequencer operations: add/delete keyframes, adjust time, zoom view, play/pause preview
Multi-animation support: The editor maintains a TextAnimations[] array, with each animation element corresponding to an independent Sequencer editor tab. Switch the currently edited animation via the animation panel (SAnimationList).
Details Panel
Displays the property editor for the selected object:
- Selected track → shows all
FTextAnimationTrackproperties (track type, timing, blend mode, keyframe array, etc.) - Selected keyframe → shows
FKeyFrameproperties (time, value, interpolation type) - Uses the
UTextAnimationTrackProxyproxy object to enableFTextAnimationTrackstruct editability in the Details panel
Inter-Panel Data Sync
The editor uses a delegate system for real-time data synchronization between the four panels:
| Delegate | Source | Target | Purpose |
|---|---|---|---|
OnPreviewTextChanged | Details panel (PreviewText change) | Designer viewport | Update preview text content |
OnTracksChanged | Track list (add/remove tracks) | Timeline, Details panel | Refresh track data |
OnTrackSelected | Track list (select track) | Details panel | Show selected track properties |
OnTextAnimationsUpdated | Animation panel (add/remove animations) | Timeline | Refresh Sequencer tabs |
OnSelectedAnimationChanged | Animation panel (switch animation) | Designer viewport, Timeline | Switch preview and curves |
Compilation
Click the Compile button in the toolbar to trigger the compilation pipeline:
FTextAnimationBlueprintCompilerContext(Kismet compiler context extension) executes blueprint compilation- Generates
UTextAnimationBlueprintGeneratedClass SafeRecreatePreviewAnimInstance()creates a preview AnimInstance from the new GeneratedClass- The designer viewport refreshes rendering with the new preview instance
During compilation, the bPendingRecreate flag queues recreation requests. If compilation is triggered during OnSequencerGlobalTimeChanged execution, it is deferred until after the preview update completes, ensuring ongoing frame data injection is not disrupted.
Editor Commands
FTextDesignerCommands registers the following editor commands:
| Command | Shortcut | Description |
|---|---|---|
| Toggle outlines | — | Show/hide widget dashed outlines |
| Zoom to fit | — | Scale preview to fit viewport |
| Swap aspect ratio | — | Switch between landscape and portrait |
| Toggle safe zones | — | Flip safe zone type |
Editor commands are bound through FUICommandList, compatible with UMG Designer’s command system.