-
Notifications
You must be signed in to change notification settings - Fork 255
Flow v2.1
Krzysiek Justyński edited this page Jan 7, 2025
·
6 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: 39M (Nil), HomerJohnston (Kyle Wilcox), LindyHopperGT, Ryan DowlingSoka, Soraphis
This is the first release for UE 5.6.
- Graph refresh refactored. (contributed by HomerJohnston)
- The goal of this PR is to make the graph editor stop refreshing the entire graph during as many events as possible. It also fixes a few minor bugs related to orphaned pins, running undo/redo commands on edge cases, and unnecessary graph dirtying on edge cases such as when nodes contain orphaned or invalid pins.
- BREAKING CHANGE. Public void
UFlowGraphNode::RefreshContextPins(bool)
changed to protected voidUFlowGraphNode::RefreshContextPins()
. The existing system has some logic that could result in attempts to recursively call ReconstructNode -> RefreshContextPins -> ReconstructNode -> RefreshContextPins. Currently, there are bools to guard against this, but both methods are exposed and this felt unclean to me. -
UFlowGraphNode::PostLoad
now rebuilds the unserialized InputPins and OutputPins arrays using the serialized Pins array. -
UFlowAsset::HarvestNodeConnections
- made this function able to harvest a single node, or harvest the whole graph (pass in nullptr to harvest the whole graph, or pass in a single node to harvest just that node). ThenUFlowGraphNode::NodeConnectionListChanged
updates node connections for only a single node when its connections are changed. - Changed the right-click context menu command, "Refresh Context Pins", to "Reconstruct Node".
- Modified the following functions to only refresh individual nodes instead of the whole graph by changing NotifyGraphChanged() calls to NotifyNodeChanged(Node):
FFlowGraphSchemaAction_NewNode::CreateNode
,UFlowGraphSchema::TryCreateConnection
,UFlowGraphSchema::BreakNodeLinks
,UFlowGraphNode::RemoveOrphanedPin
,UFlowGraphNode::AddInstancePin
,UFlowGraphNode::RemoveInstancePin
. -
FlowGraphSchemaAction_NewNode::CreateNode
now runs ReconstructNode() instead of only spawning default pins. -
UFlowGraphNode::OnGraphRefresh
now runs ReconstructNode() instead of RefreshContextPins(), on all nodes. -
UFlowGraphNode::RefreshContextPins
- no longer runs if an editor transaction is in progress (running undo/redo). - `UFlowGraphNode::HavePinsChanged - now disregards any orphaned pin connections.
- Added a new delegate
UFlowGraphNode::OnReconstructNodeCompleted
to trigger the rebuild of SFlowGraphNode widgets whenever ReconstructNode is called. -
SFlowGraphNode
added destructor to unbind from UFlowGraphNode delegates. -
UFlowGraphSchema
added virtual bool ShouldAlwaysPurgeOnModification() const override { return false; } to reduce unnecessary graph refreshes. -
UFlowNodeAddOn
- GetContextInput/OutputPins functions changed to ignore invalid pins and write a log warning for invalid pins.
- Exposed ability to override node's Category via
OverridenNodeCategories
list Flow Graph project settings. This way you can fully reorganize Flow Palette to your liking. (inspired by LindyHopperGT's proposal) -
UFlowNode::TriggerOutput
won't execute its logic if a given node is deactivated. (contributed by 39M) - Fixed
UFlowNode::Branch
never deactivating after checking its condition. (fix suggested by Geckostya)
- Added
TriggerRootFlowCustomInput
method. (contributed by Soraphis) - Renamed methods related to Custom Output events, now called
BP_OnRootFlowCustomEvent
andOnRootFlowCustomEvent
.
Got any questions? Discuss things related to the plugin on the dedicated Discord server.
- Overview
- Guides
- Legacy
- API
- Releases