Skip to content

Flow v1.4

Krzysiek Justyński edited this page Feb 18, 2023 · 51 revisions

This is the upcoming release. This page is updated regularly, after pushing changes to the repository.

This release includes pull requests from the community: ArseniyZvezda (Arseniy Zvezda), bohdon (Bohdon Sayre), lfowles (Landon Fowles), michalmocarskiintermarum (Michał Mocarski), ryanjon2040 (Satheesh).

Upgrade notes

Do not update directly from version 1.0 to this version. Important fixups of deprecated properties have been removed in this version.

New: Message Log support

  • Added Validate toolbar action calling data validation on the entire asset, checking all Flow Nodes. If any issues are found, these are reported in the new Validation Log window.
  • Node validation uses the new UFlowNode::ValidateNode method which is available in C++ only.
  • Added Runtime Log windows displaying runtime message set by Flow Nodes, using methods LogError, LogWarning, and LogNote.

Graph

  • Refresh command now also recreates UFlowGraphNode instances if a given UFlowNode now has a different UFlowGraphNode assigned. Only applicable to C++ classes, as blueprint nodes cannot have custom UFlowGraphNode. (reworked pull request by ArseniyZvezda)
  • Added GetStartNode method to Flow Asset, available in C++ only.
  • Corrected templated version of UFlowAsset::GetOwner(). (contributed by ryanjon2040)

Flow Node

  • Added LogWarning and LogNote methods to UFlowNode which construct the message in the same way as LogError, including a full path to a given node.
  • Added log message while node executes in Disabled or PassThrough mode.
  • Exposed direct access to Flow Node connections in C++.
  • Fixed: UFlowNode::LogError doesn't execute its logic in Shipping builds anymore.
  • Fixed: rare crash if node would trigger output on exiting game.
  • Compilation-breaking change: Removed template method LoadAsset as it was simply redundant.

Specific Flow Nodes

  • Added the bExactMatch option to Notify Actor node. (contributed by bohdon)
  • Added a few keywords to the Timer node to make search easier. (contributed by ryanjon2040)
  • (UE 5.1+) Fixed applying FMovieSceneSequencePlaybackSettings while creating UFlowLevelSequencePlayer. (submitted by michalmocarskiintermarum)
  • Fixed: Component Observer may continue triggering outputs if the last component triggered a finish during UFlowNode_ComponentObserver::StartObserving. (fix proposed by lfowles)

Asset Search

Editor misc

  • Compilation-breaking change for C++: Context Pins now are constructed directly as FFlowPin instead of FName. It allows setting display names and tooltips on such pins.
  • Exposed all remaining classes out of the module, allowing to extend whatever you need.
  • Moved MovieScene headers to the Public folder. Moved the SLevelEditorFlow class to the Utils folder.
  • Moved all Details Customizations classes to a single DetailsCustomizations folder.

New: Import from blueprint graph

  • Added UFlowImportUtils blueprint library to create Flow Graph asset in the same folder as the selected blueprint.
  • Includes simple utility method that recreates Flow Graph with nodes matching blueprint function nodes (UK2Node_CallFunctions).
  • Utility automatically transfers blueprint input pin values to Flow Node properties if the pin name matches the Flow Node property name. It's also possible to map mismatched names (blueprint pin to Flow Node property) as the utility input parameter.
  • Added UFlowNode::PostImport() allowing to update a newly created Flow Node just after it got created.

NOTE. It's NOT meant to be the universal, out-of-box solution as the complexity of blueprint graphs conflicts with the simplicity of the Flow Graph. However, it might useful to provide this basic utility to anyone who would like to batch-convert their custom blueprint-based event system to Flow Graph.