Updates

Pulling a new version, what the version number promises, the EXPERIMENTAL exception, the two source-breaking changes so far, and why there is no roadmap page.

Table of contents
On this page
  • Where to check the current version
  • The update procedure
  • What the version number means
  • Version history
  • Why there is no roadmap page
  • Rolling back
  • Modifying the source

Where to check the current version

The VersionName field in StillCooking_Tools.uplugin, and the first versioned heading in CHANGELOG.md.

The update procedure

  1. Read the changelog for every version between yours and the new one. Entries under Changed and Removed are the ones that can touch your code. If you call the Flow cores from C++, read every entry.

  2. Commit or back up your project.

  3. Pull. If you cloned as the installation page suggests:

    git -C Plugins/StillCooking_Tools pull

    Otherwise replace the directory. Either way, delete the plugin’s Binaries/ and Intermediate/ before building, so nothing stale survives.

  4. Regenerate project files and build.

  5. Open the editor and compile the Blueprints that use the plugin’s nodes. A node whose pin set changed reports it on compile.

  6. Build Shipping if you ship one, and check that your debug tooling degrades as intended — what the console registry and the print node lose there is by design, and a graph that leaned on either stops doing that thing.

What the version number means

Semantic versioning, with one exception.

PartGoes up when
Majoranything in a Public/ header of the stable surface is renamed, removed, or has its UFUNCTION signature changed — a Public/ header is a contract
Minornew, backward-compatible functionality — a new node, a new function, a new class
Patchbug fixes with no observable API change

The exception is the EXPERIMENTAL C++ layer. FSCFlowLoop, FSCFlowDuration, FSCFlowConditionPoll, FSCFlowTickingTask and the types that go with them may change shape in a minor release. The changelog records every such change, and the header of every affected class carries the marker. The Blueprint nodes built on them are stable under the normal rules.

The two source-breaking changes so far, both inside that layer:

  • 0.4.0 renamed FSCFlowLoopFinished to FSCFlowFinished. C++ callers of FSCFlowLoop rename the type; Blueprint users see nothing.
  • 0.7.0 appended TimedOut to ESCFlowFinish. Existing values kept their ordinals; a switch on the enum gains a case.

Version history

VersionDateHeadline
0.8.02026-09-28Unreal Engine 5.8 alongside 5.7; graph images in the documentation
0.7.12026-09-11fix: Print String Formatted argument pins came back as wildcards on editor restart
0.7.02026-08-25Wait Until, SC.Flow.WaitUntilWarningSeconds, FSCFlowConditionPoll, ESCFlowFinish::TimedOut
0.6.02026-08-25Print String Formatted, the StillCookingCoreEditor module
0.5.02026-08-19For Each Index Per Tick, ItemsPerTick
0.4.02026-08-19Do For Duration, FSCFlowDuration, FSCFlowTickingTask; FSCFlowLoopFinished → FSCFlowFinished
0.3.12026-08-18the suspended-loop warning, SC.Flow.SuspendedLoopWarningSeconds
0.3.02026-08-16For Each Index With Delay, FSCFlowLoop
0.2.02026-08-15the console command registry, SC.Debug.Ping; tick-intent changes and IsTickEnabled() on the tickable object
0.1.02026-08-14USCTickableObject, LogStillCooking

Every release up to 0.7.1 targets UE 5.7 on Win64; 0.8.0 adds UE 5.8. The full text of each entry: CHANGELOG.md.

Why there is no roadmap page

There is no roadmap page. The one change announced so far — culture-independent number formatting in Print String Formatted — is in how the grouping is formatted today, and that it will change, and in the changelog entry that introduced the node.

Rolling back

The C++ Flow layer — its enums, structs and aliases — is not serialized into assets; nothing there is a UENUM or a USTRUCT. What your assets do carry is the same as for any plugin: the classes of the nodes placed in graphs and of your Blueprint children, with their pin and property values, plus the Print String Formatted node’s argument pin names.

Rolling back to a version that lacks a node or a pin your assets use breaks those assets until you roll forward again. For example, a Blueprint using Wait Until fails to compile on 0.6.0 and compiles again on 0.7.0. Nothing else breaks.

Modifying the source

MIT lets you. If your fork changes the stable surface, you merge upstream changes by hand on every update. A fork that only adds — a new node on the Flow cores, a subclass of the tickable object — merges cleanly, apart from the EXPERIMENTAL layer it builds on. Renaming UK2Node_SCPrintStringFormatted or its serialized pin-name property orphans the node in every Blueprint that already uses it.