QuickSDFTool v0.2.0-preview
This preview release focuses on maintainability and day-to-day authoring UX. The paint tool has been refactored into smaller responsibilities, the material-slot workflow is clearer, and the timeline now separates seeking from keyframe edits while showing the current paint target state directly on the track.
Recommended Audience
- Technical artists testing toon-shadow mask authoring inside Unreal Engine 5.
- Teams already evaluating
v0.1.0-previewand wanting the refactored editor workflow. - UE plugin developers interested in Interactive Tools Framework, Slate timeline UI, material baking, and editor-side texture generation.
Tested Environment
| Item | Status |
|---|---|
| Unreal Engine | 5.7.4 tested development target |
| Platform | Windows development environment |
| Project type | C++ Unreal project |
| Shader model | SM5 or higher |
UE 5.6 and earlier are not supported for this preview.
Highlights
- Large
UQuickSDFPaintToolrefactor into focused paint session, stroke, mask, render target, import, preview, and SDF helper code. UQuickSDFAssetnow treats the active texture set as the primary editable data source, with best-effort migration for older saved assets.- New
Material SlotsUI with row-click selection, compact status pills, and per-slot Bake actions. - Removed broad multi-slot controls such as
Bake Selected,Bake Missing, andGenerate Allfrom the primary workflow. - Timeline now uses an upper seek lane and lower keyframe lane to prevent accidental keyframe movement while checking light angle.
- Timeline visibility improvements include clearer angle labels, stronger active/target range contrast, and cleaner thumbnail segmentation.
- Timeline Status Badges show mask availability, Monotonic Guard state, and warnings, with detailed tooltips for angle, texture, edit state, paint-target inclusion, overwrite state, and warning details.
- Paint Target range highlights for
Current,All,Before, andAfteruse the same midpoint-based key segments as the editing operation. - Brush resize now works immediately after mode entry, only while the cursor is over the level viewport, and defaults to radius
2.5. - Import texture selection no longer auto-assigns the Content Browser selection when opening the import panel.
- Preview material handling was corrected so
/QuickSDFTool/Materials/M_PreviewMatis not marked dirty when entering/exiting SDF mode. - Source files added during the refactor were normalized to UTF-8 to avoid Rider encoding warnings.
- Automation coverage now includes timeline range/key status, asset migration, import validation, and Monotonic Guard behavior.
Upgrade Notes
- This release targets UE 5.7+ only.
- Existing
UQuickSDFAssetdata is migrated on load on a best-effort basis. Back up production assets before testing preview builds. - The main Material Slots workflow is intentionally slot-focused. Use the row Bake action for the slot you are editing.
- Mask import now expects an explicit file choice or timeline drag-and-drop instead of using the current Content Browser selection automatically.
Verification Steps
- Open a C++ UE 5.7.4 project with the plugin enabled.
- Build
sdfbuildEditor Win64 Development. -
Run the automation groups:
Automation RunTests QuickSDFTool Automation RunTests QuickSDFTool.Core.Timeline - Enter Quick SDF mode and select a mesh with multiple material slots.
- Select a row in Material Slots, Bake that slot, and confirm the row status updates.
- Paint on the current mask, switch Paint Target modes, and confirm the timeline range highlight follows the affected masks.
- Seek from the upper timeline lane and drag keyframes only from the lower keyframe lane.
- Hover key status badges and confirm mask, Guard, warning, and texture details appear in the tooltip.
- Generate a selected SDF threshold texture and confirm it is created under
/Game/QuickSDF_GENERATED/. - Save and reopen the level or asset to confirm migrated texture set data reloads as expected.
Known Defects
- UV layout can affect the relationship between brush size and painted area.
- SDF output direction still needs final verification against the preview material.
- GPU JFA shader files exist, but the public generation path currently uses the CPU
FSDFProcessorpath.
Suggested GitHub Release Assets
- Source archive from the tag.
- A short demo video or GIF showing mask paint -> SDF map -> toon result.
- A PNG export of
.github/assets/social-preview.svg.
Full Changes
Compare with the previous preview: https://github.com/yeczrtu/QuickSDFTool/compare/v0.1.0-preview…v0.2.0-preview