Limits
What the plugin does not do by design, what disappears in Shipping, and the engine versions and platforms it has not been built for.
Table of contents
On this page
- Plugin-wide
- Per entry
- What disappears in Shipping and Test
- Not verified
Plugin-wide
- A C++ project is required. The plugin is compiled with your project.
- UE 5.7 and 5.8 on Win64 are the only built-and-tested combinations, and 5.5 and 5.6 do not compile — see what has been built and tested, release by release.
- Nothing replicates. No entry knows about the network. A loop, a drive or a wait runs where it was started and nowhere else.
- The C++ Flow layer is EXPERIMENTAL and may change shape without a major version bump.
- Game Thread only. Every entry is driven by the world’s tick pass or by the console. Nothing in the plugin is thread-safe; calls from other threads are unsupported.
- The four Flow nodes are placeable on an event graph only, never inside a function graph.
- No content ships. The descriptor allows content; the distribution carries none.
Per entry
USCTickableObject
- Does not root itself; the owner holds it.
- Does not run subclass teardown on garbage
collection; only
Shutdown()does. A leak is reported, not repaired. - Cannot be hosted from a Construction Script.
- No catch-up on a throttled interval: a long hitch yields one
Tick, not several.
USCConsoleCommandRegistrySubsystem
- Commands execute only while a game world exists — never in the editor outside Play. A command that should act on the editor itself needs an editor subsystem, which this is not.
- One Blueprint child per project, and no C++ subclass in an always-loaded module.
- Unregister a command after it has returned; the console manager makes no promise that unregistering from inside a command’s own execution survives it.
- An empty
Owneris rejected, not treated as “everything”.
The loop nodes
- There is no delay after the last iteration;
Completedfollows it immediately. Items Per Tickhas no effect withAuto Continuecleared.Delaytogether withItems Per Tickis C++-only.- No pause options: a paused game runs no iterations.
Do For Duration
- One drive per node object; a second
Activate()is ignored. - The alpha is not clamped when a curve overshoots.
- Cancelling from inside the update: on the C++ core, nothing may touch a capture after the
cancelling statement. The node’s
CancelfromOn Updateworks today because the node’s handler touches nothing after it — a property of the current code, not a guarantee.
Wait Until
Conditionmust be a Blueprint function; an event fails to compile.Poll Intervalat or aboveTimeoutnever polls on a tick; withCheck Immediatelythe condition is asked once, at activation, and then the node times out.- An unbound or lost condition ends through
On Timed Out.
Print String Formatted
- Numbers are culture-formatted; the grouping is unstable and will change.
- Case variants of an argument name share one pin.
- There is no C++ side to this node and nothing to call.
What disappears in Shipping and Test
| Entry | Shipping | Test |
|---|---|---|
Print String Formatted | compiled out | compiled out |
Console command registration, SC.Debug.Ping | compiled out | present |
| Everything else | present | present |
Why each entry goes, and what still exists of it in the build that drops it: the print node is dropped by the Blueprint compiler, the registry by a preprocessor guard.
One more thing goes from Shipping, and the plugin does not decide it: the engine, by default,
compiles logging and ensure out of it, so every message in
Diagnostics is absent there too.
Not verified
- Platforms other than Win64, and engine versions newer than UE 5.8 — the dependency list suggests they would work; none has been built. Versions older than 5.7 do not compile, so they are not on this list.
A report confirming or contradicting this is useful: Issues.