Flow Generator
Documentation, guides, and technical support for Flow Generator in Unreal Engine.
Overview
BP_Maestro:
- Triggers and orchestrates multiple synchronized flow sequences
- Configurable play rate, delays, and loop toggles for each sequence
- Chain consecutive Maestro sequences automatically
BP_FlowPart:
- Dynamically updates material appearance based on the position and normal of a plane moving along a spline
- Applies effect across spline meshes or multiple external static meshes
- Generates particle sparks and electricity along the flow path
Video Tutorial
BP_Maestro Configuration
BP_Maestro manages execution order, timings, and transitions across multiple spline flows:
-
Auto Play: Automatically launch sequences at level start.
-
Loop: Continuously loop sequences from beginning upon completion.
-
Sequences: Array of sequence structs:
- Flow Parts: Array of flow parts triggered simultaneously
- Play Rate: Playback speed of each flow part in the array
- Wait Flow End: Wait for current flow completion before triggering next step
- Delay Before Next: Additional delay before triggering subsequent sequence
-
Play Other Maestro: Trigger a chained
BP_Maestroupon finishing all sequences.**Reorder Sequences**: Drag and drop array handles in the Details panel to change execution sequence. **Bulk Parameter Search**: Filter for parameter names (like `Play Rate`) in the actor search bar to tweak all sequences simultaneously.
BP_FlowPart Configuration
BP_FlowPart translates position and normal vectors along spline paths to drive material instances:
- Mat: Dynamic material instance assigned to the flow.
- Static Mesh: Mesh constructed along the spline curve.
- Forward Axis: Spline tangent forward axis.
- Spline Scale: Mesh scaling factor along spline points.
- Speed Adjustment: Compensates for frame drops to prevent visual gaps.
- Cast Shadow: Toggles mesh shadow casting.
- Spawn Particle: Spawns electric particle effects along the moving plane.
- Static Mesh (Array): Target static meshes receiving projection coordinates.
(For viewport editing guidelines, view Epic’s How-To Edit Spline Components Guide.)
Flow Material Function Architecture
The MF_FlowGenerator material function drives the core effect. Vector parameters normal and pos are automatically managed at runtime by BP_FlowPart dynamic material instances.
The output cleanly separates the masked boundary and clamped opacity mask, enabling custom combinations such as panning textures or secondary emissive waves.
Blueprint Communication & Events
Each BP_FlowPart exposes a normalized Distance float variable (0.0 to 1.0) tracking active progress along the spline regardless of overall length:
- Trigger a Sequence: Call
Play Sequencereferencing targetBP_Maestro. - Trigger a Single Flow: Call
Launch Sequencereferencing targetBP_FlowPart.
Recommended Placement Workflow
- Drag and drop a
BP_FlowPartinto your level. - Assign the target static mesh while leaving parameters at default values.
- Position the actor origin near the start of the desired flow path.
- Edit spline points to trace the path (or assign external static meshes in the array).
- Repeat for any additional flow branches.
- Drag and drop
BP_Maestrointo the level and assemble your sequence list. - Set
Loop = trueand preview playback in the editor.
Sequencer Workflows
Flow Generator is a **Runtime** asset that creates and moves spline components while the game is running. In Sequencer, ensure sequences are triggered via runtime event director tracks.
Controlling Flow in Sequencer
- Create a Material Parameter Collection with a
posvector parameter. - In
BP_FlowPart, add a public Material Parameter Collection variable. - Route the parameter collection in the Construction Script.
- Animate the collection parameter in the Sequencer timeline.
Triggering Sequences at Runtime
- Add an Event Trigger Track in Sequencer.
- Add a keyframe and double-click to open the Sequence Director Blueprint.
- Call
Play Sequenceon your level’sBP_Maestro.
Changing Emissive Color in Sequencer
- Add the
BP_FlowPartactor to Sequencer. - Add track:
NODE_AddSplineMeshComponent-0 > Material Element 0. - Add the
Emi colorparameter track and keyframe RGB values.
How to trigger the effect in the sequencer?
The blueprint is creating and moving component at runtime. You need to press “PLAY” to make it work.The sequencer is in “EDITOR TIME” not runtime.If your sequence is playing at runtime you can trigger a sequence like this:
- Create a new event trigger track in the sequencer
- Put your key in the track and double click on it
- In the sequence director BP call the “play sequence” for example.
How to change the “emicolor” in the sequencer
- Create a new sequence
- Select the BP_FlowPart
- Add the BP_FlowPart to the sequencer
- Click on the +track and add the “NODE_AddSplineMeshComponent-0”
- Add the material parameter “Material element 0”
- Add the “Emi color” parameter
- Tweak the RGB values!
- Open the master material (not the instance).
- Add the nodes above before the panner node. (The U/V tiling are parameters so the instance should inherit this property).
- Save and apply the master material.
- In the material instance (
MI_...), adjust the U/V tiling parameter to avoid the stretching of the texture.
Troubleshooting
Gaps / Holes in Spline Flow
Position coordinates are evaluated every tick. Under high play rates or low framerates, minor gaps may appear near tight spline points. Increase the Speed Adjustment variable in BP_FlowPart to compensate.
Fixing Log Errors
If Blueprint warning messages appear in Output Log, verify BP_FlowPart > ManageCurrentStep: