MothCocoon / FlowGraph

Design-agnostic node system for scripting game’s flow in Unreal Engine

Home Page:https://discord.gg/Xmtr6GhbmW

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flow assets become dirty randomly

VincentCoursac opened this issue · comments

Hello,
I've noticed a rather annoying problem: when compiling or loading any blueprint, it's quite common that one or more flow assets become dirty and need to be saved. It becomes problematic when using perforce for collaboration as it needs to checkout this flow assets.
It seems to be related to the fact that the flow editor does this :

GEditor->OnBlueprintCompiled().AddUObject(this, &UFlowGraphNode::OnExternalChange); GEditor->OnClassPackageLoadedOrUnloaded().AddUObject(this, &UFlowGraphNode::OnExternalChange);

and then

`
void UFlowGraphNode::OnExternalChange()
{
bNeedsFullReconstruction = true;

ReconstructNode();
GetGraph()->NotifyGraphChanged();

}
`

`void UFlowGraph::NotifyGraphChanged()
{
GetFlowAsset()->HarvestNodeConnections();
GetFlowAsset()->MarkPackageDirty();

Super::NotifyGraphChanged();

}`

So if I understdand this well, it means that everytime you load/unload or compile a blueprint, the flow assets is rebuilt and sometimes it makes false positive and make the object dirty

@VincentCoursac should be fixed :)