All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Built-in Effects (+2, total 28)
-
Fan — A pinwheel-style wipe where angular blades sweep out from the center and rotate to cover the screen, like an opening folding fan. Adds the
DA_Fanpreset,M_Transition_Fanmaster material,MI_Transition_Faninstance, preview GIF, and README (EN/JA) Built-in Effects table entry. -
Slice — The screen is cut into strips that slide off-screen in alternating directions with staggered timing. Slice count, direction, softness, and stagger are adjustable. Adds the
DA_Slicepreset,M_Transition_Slicemaster material,MI_Transition_Sliceinstance, preview GIF, and README (EN/JA) Built-in Effects table entry. -
Transition Color per Preset —
UTransitionPresetnow exposes abOverrideTransitionColortoggle and aTransitionColorproperty. When enabled, the color is applied to the material's color parameter at the start of the transition (e.g., fade-to-white) without requiring a parameter override at the call site. An explicit color supplied viaFTransitionParametersat the call site still takes precedence. -
DA_SequenceSamples— SampleUTransitionSequencedata asset demonstrating the sequence system out of the box (Content/Data/Sequence/).
- Changed the project's default map to an empty map to speed up editor and packaged startup.
SetParametersnow logs a warning (LogTransitionFX) when an override targets a scalar, vector, or texture parameter that the material does not expose, instead of silently ignoring it. This surfaces cases such as a color override having no visible effect because the material lacks that parameter.- Bumped plugin
VersionNameinTransitionFX.upluginto match the release version. - Release ZIP no longer includes local development tooling configuration (
.claude/).
- Fixed the transition color override having no effect. The material color parameter is named
FadeColor, butColorParamNamewas set toColor, soSetVectorParameterValuewas silently ignored. This also affectedQuickFadeToBlack/QuickFadeFromBlackand the new per-presetTransitionColor. Updated the constant and the documentation (FAQ, Quick Start, API Reference) to useFadeColor. - Added a dedicated factory and asset type actions for
UTransitionSequence. The asset now appears as a top-level "Transition Sequence" entry in the Content Browser right-click menu, matching the existingTransition Presetworkflow. Previously, sequences could only be created via the genericMiscellaneous → Data Assetclass picker.
Built-in Effects (+1, total 26)
- Diamond Band Wipe — A dynamic transition where a diamond-shaped band expands from the center, splitting apart to reveal the underlying scene.
Sequence System
UTransitionSequencedata asset for chaining multiple transitions back-to-back.PlaySequence/StopSequence/IsSequencePlaying/GetCurrentSequenceStepAPI onUTransitionManagerSubsystem.PlaySequenceAndWaitlatent Blueprint node.OnSequenceCompletedandOnSequenceStepChangeddelegates.
- Fixed a one-frame background flash between sequence steps caused by the previous step's PostProcessVolume being destroyed before the next step's effect was initialized. During a sequence, the effect now hot-swaps across steps and is only torn down when the full sequence completes.
- Fixed an issue where an incorrect material instance was set for DA_FadeToBlack.
- Refactoring to a more efficient node configuration for M_Transition_Diamond.
Built-in Effects (+3, total 25)
- Sliding Doors — Two panels slide from opposite sides and meet at the center, like elevator or airlock doors
- Dissolve — Classic transition where the screen dissolves like mist or sand using procedural noise
- Corner Wipe — A directional wipe that starts from a specified corner and expands diagonally across the entire screen; origin corner (0–3) is dynamically selectable
Material Functions
MF_StarSDF— Star signed-distance-field material function for star-shaped effects
Event System
OnTransitionProgressChanged— Broadcasts the eased progress value (0.0 to 1.0) each tick while a transition is activeOnProgressThresholdReached— Fires once when the eased progress crosses a registered threshold value
C++ / Blueprint API
AddProgressThreshold(float Threshold)— Registers a progress threshold (0.0 to 1.0) for one-shot callback notificationClearProgressThresholds()— Removes all registered progress thresholds
- Optimized FString allocation in
STransitionPreviewPanelby reserving capacity before PascalCase-to-snake_case conversion loop
- Added UEFN (Unreal Editor for Fortnite) compatibility FAQ to README (EN/JP)
- Updated API Reference (EN/JP) with
OnTransitionProgressChanged,OnProgressThresholdReached,AddProgressThreshold, andClearProgressThresholds - Updated Quick Start guides (EN/JP) with new event system documentation (5 delegates)
- Added effect preview GIFs for Dissolve, Sliding Doors, and Corner Wipe
- Added Corner Wipe to the Built-in Effects table in README (EN/JP)
- Marked "OnTransitionProgress Delegate" as completed in the Roadmap
Core System
UTransitionManagerSubsystem— GameInstance subsystem managing the full transition lifecycleUTransitionPreset— Data asset for configuring transition effects (duration, easing, audio, material, input blocking)ITransitionEffect— Interface for implementing custom transition effectsUPostProcessTransitionEffect— Concrete post-process volume based transition effectUTransitionBlueprintLibrary— Blueprint function library with latent action support
Built-in Transition Effects (22 effects)
- Fade, Iris, Flower Iris, Diamond, Box
- Linear Wipe, Split, Wavy Curtain, Radial Wipe, Cross Wipe
- Tiles, Polka Dots, Blinds, Spiral, Random Tiles, Wind
- Texture Mask, TV Switch Off, Hexagon, Triangle, Checkerboard, Pixelate
Easing System
- Linear, Sine (In/Out/InOut), Cubic (In/Out/InOut), Expo (In/Out/InOut)
- Elastic Out, Bounce Out
- Custom FloatCurve support
Blueprint API
PlayTransitionAndWait— Latent action node (Forward / Reverse exec pins)PlayRandomTransitionAndWait— Randomly selects a preset from an arrayPlayTransitionAndWaitWithDuration— Duration override at call siteQuickFadeToBlack/QuickFadeFromBlack— Convenience single-node fadesInvertTransition— Inverts the transition mask and replays forwardStopTransition,ForceClear,ReverseTransition,SetPlaySpeed,ReleaseHoldIsAnyTransitionPlaying,IsTransitionPlaying,GetCurrentProgress,IsCurrentTransitionFinishedPrepareAutoReverseTransition— Pre-configures auto-reverse for the next level load without starting a transitionOpenLevelWithTransition,OpenLevelWithTransitionAndWait— Level transition nodes with auto fade-inApplyEasing— Pure math node for easing calculations
C++ API
StartTransitionwithFTransitionParametersfor runtime material parameter overridesPreloadTransitionPresets— Synchronous shader warmup to prevent first-frame hitchingAsyncLoadTransitionPresets— Async asset loading with automatic shader warmup and completion callbackOpenLevelWithTransition— Seamless level transitions with auto-reverse fade-inInvertTransition— Inverts the current transition mask and replays forwardReleaseHold— Releases held transitions for loading screen workflowsPrepareAutoReverseTransition— Pre-configures auto-reverse for the next level load without starting a transition immediatelyGetDefaultFadePreset— Returns the cached default fade preset (DA_FadeToBlack)- Object pooling for transition effect instances (capped at 3 per class)
TransitionFX.ForceClearconsole command for emergency recovery
Event System
OnTransitionStarted— Fired when transition beginsOnTransitionCompleted— Fired when transition finishesOnTransitionHoldStarted— Fired when transition reaches max and holds
Editor Module
TransitionFXEditormodule — Editor extension for previewing and exporting transition effectsSTransitionPreviewPanel— Real-time preview panel with playback controls (play, pause, loop, reverse, speed adjustment)TransitionPreviewViewport— Dedicated viewport for effect preview renderingFGifEncoder— GIF89a encoder with LZW compression and median-cut color quantizationAssetTypeActions_TransitionPreset— Content browser integration with custom icon and colorTransitionPresetFactory— Asset factory for creating new transition presets- Batch export for all effects and all easing types as GIF files
- Resolution options for capture (480×270, 640×360, 800×450)
Other Features
- Auto input blocking via
SetCinematicModeduring transitions - Pause-aware ticking (
bTickWhenPaused) - Hold-at-max support for loading screen workflows
- Audio SFX synchronization with volume and pitch control
- Aspect ratio correction for all SDF-based effects
- Soft object reference support for on-demand asset loading
Documentation
- README in English and Japanese
- API Reference in English and Japanese (
API_Reference_EN.md,API_Reference_JP.md) - Quick Start Guide in English and Japanese (
QUICKSTART_EN.md,QUICKSTART_JP.md) - Performance rationale document (
PERFORMANCE_RATIONALE.md) - FAQ in English and Japanese (
FAQ_EN.md,FAQ_JP.md) - Contributing guidelines (
CONTRIBUTING.md) - Preview Tool Manual (
TransitionFX_PreviewTool_Manual.md)