Skip to content

Flow v2.0

Krzysiek Justyński edited this page Jul 3, 2024 · 23 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: LindyHopperGT, MaksymKapelianovych, NachoAbril, Soraphis.

This is the first release for UE 5.5.

Flow AddOns

Riot Games introduced this huge change as part of their ongoing contribution to this humble open-source project. It solves the problem of big monolithic Flow Nodes with overly complex code trying to support all use cases of given mechanics in the game.

[To be described in depth.]

Flow Asset

  • Improvements to Flow Diff. (contributed by Riot Games)
    • Fix FlowGraph details diffing by assigning Splitter to the FDiffControl.Widget in SFlowDiff::GenerateDetailsPanel()
    • Add nesting to tree entry display to more easily read the diffs.
    • Add individual property diffing with highlights.
    • Nest Add-On nodes inside their parent flow nodes.
    • Added FFlowObjectDiff to track all the data needed to display an individual tree entry's diff.
  • Added OnDetailsRefreshRequested delegate. It allows developers to refresh the Asset or Node details panel without the need to add a boilerplate to projects.

Flow Node

  • Improvements to generating Node Title. (contributed by MaksymKapelianovych)
    • Editing UFlowGraphEditorSettings::bShowNodeClass now immediately updates node titles in the graph.
    • Editing UFlowSettings::bUseAdaptiveNodeTitles now immediately updates node titles in the graph.
    • UFlowGraphNode::GetTooltipText() now calls UFlowNode::GetNodeToolTip().
    • Refresh the graph only once, when the node asset is renamed.
    • User can now specify node prefixes that will be automatically removed, instead of manually writing custom meta = (DisplayName = ...). Now UFlowGraphSettings holds the NodePrefixesToRemove array, where user can add their custom node prefixes. By default, it contains two elements: "FN" and "FlowNode". Any duplicating elements will be instantly removed with an error notification.
    • To optimize the process of prefix removal, nodes' names without prefixes are generated and stored as custom GeneratedDisplayName metadata every time the array is changed. UFlowNode::GetNodeTitle() method has been modified to return GeneratedDisplayName in case the node class does not have BlueprintDisplayName and DisplayName metadata, and UFlowNode::bDisplayNodeTitleWithoutPrefix == true. Similar changes have been made in UFlowNode::GetNodeToolTip(), so now it also returns GeneratedDisplayName if possible.
  • Add a bunch of const keywords to allow usage of LogError/LogWarning/LogNote in const functions without const_cast. (contributed by MaksymKapelianovych)
  • Added check to prevent a crash when deleting two or more node assets (if some of them are in undo history). (contributed by MaksymKapelianovych)

Specfic Flow Nodes

  • Added UFlowNode_ExecuteComponent which executes a UActorComponent on the owning actor as if it was a SubGraph. (contributed by LindyHopperGT)
  • UFlowNode_PlayLevelSequence: prevent multiple output pins with the same name (contributed by Soraphis)

Flow Component

  • Added support for replicating variables by using the Push Model. (contributed by NachoAbril)
  • Moved the "Start or Load of the RootFlow" to a virtual function. (contributed by Soraphis)