Skip to content

For Unreal Engine Developers

Coming from Unreal Engine Blueprints? You already understand visual programming! This guide maps Blueprint concepts to Flow-Like, helping you apply your node graph skills to automation and AI workflows.

Blueprint ConceptFlow-Like Equivalent
BlueprintBoard
Event GraphFlow
NodeNode
PinPin
Execution Pin (white)Execution Wire
Data Pin (colored)Data Wire
VariableVariable
FunctionBoard with Quick Action
MacroSubflow / Board reference
EventEvent node
Cast ToType conversion nodes
BranchBranch node
For Each LoopFor Each node
SequenceMultiple output wires
StructStruct type
ArrayArray type
Pure FunctionPure nodes (no execution pin)
Reroute NodeReroute (visual organization)

If you’ve used Blueprints, Flow-Like will feel natural:

Blueprint Event Graph:

(Event BeginPlay) ──▶ [Print String] ──▶ [Set Variable]

Flow-Like Flow:

[Quick Action Event] ──▶ [Console Log] ──▶ [Set Variable]

Both use:

  • Left-to-right execution
  • Nodes connected by wires
  • Input pins on left, output pins on right
  • Execution flow (white wires) and data flow (colored wires)

Just like Blueprints, Flow-Like has execution wires (white) that control flow order:

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Event │ │ Process │ │ Save │
│ exec ├────▶│ exec exec ├────▶│ exec │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘

Nodes execute in the order the execution wire connects them.

Data pins work identically:

Blueprint:

[Get Player Location] ──▶ (Vector) ──▶ [Print String]

Flow-Like:

[Get Variable: location] ──▶ (Vector3) ──▶ [Console Log]

Colored wires carry data. Types must match (or be convertible).

In Blueprints, variables are scoped to the Blueprint class.

Variables are scoped to the Board:

Board: MyWorkflow
├── Variables:
│ ├── counter: Integer = 0
│ ├── playerData: PlayerInfo
│ └── items: Array<Item>

Access with Get/Set Variable nodes—exactly like Blueprints.

Blueprint EventFlow-Like Event
Event BeginPlayInit Event (if applicable)
Event TickScheduled Event
Custom EventQuick Action Event
Event DispatcherQuick Action (callable)
Input Event(not applicable—no game input)
Collision/Overlap(not applicable—no physics)

Flow-Like events are triggers for workflows:

  • Quick Action – Manual button click
  • Chat Event – Conversational input
  • HTTP Event – API webhook
  • Scheduled Event – Timer-based

Blueprint:

[Branch]
├── Condition ──▶
├── True ──▶ [Do Something]
└── False ──▶ [Do Other]

Flow-Like:

[Branch]
├── condition ◀── (bool input)
├── True ──▶ [Do Something]
└── False ──▶ [Do Other]

Identical pattern!

Blueprint:

[For Each Loop]
├── Array ◀── (array input)
├── Loop Body ──▶ [Process]
│ ├── Array Element ──▶
│ └── Array Index ──▶
└── Completed ──▶ [After Loop]

Flow-Like:

[For Each]
├── array ◀── (array input)
├── body ──▶ [Process]
│ ├── element ──▶
│ └── index ──▶
└── done ──▶ [After Loop]

Same structure, same semantics.

Blueprint:

[Sequence]
├── Then 0 ──▶ [First]
├── Then 1 ──▶ [Second]
└── Then 2 ──▶ [Third]

Flow-Like: Simply connect multiple wires from one node:

[Event] ──┬──▶ [First]
├──▶ [Second]
└──▶ [Third]

Branches execute in parallel (unlike Blueprint’s sequential).

Blueprint: Built-in nodes like Flip Flop.

Flow-Like: Use variables to track state:

[Get Variable: flip_state]
[Branch: flip_state == true]
True ──▶ [Action A] ──▶ [Set Variable: flip_state = false]
False ──▶ [Action B] ──▶ [Set Variable: flip_state = true]

Blueprint Functions → Boards with Quick Actions

Section titled “Blueprint Functions → Boards with Quick Actions”

Blueprint Function:

Function: CalculateScore
├── Inputs: kills, deaths
├── Local Variables: ratio
└── Return: score
[Divide] ──▶ [Multiply] ──▶ [Return Node]

Flow-Like:

Board: CalculateScore
├── Quick Action Event:
│ ├── kills (input)
│ └── deaths (input)
└── Flow:
[Divide] ──▶ [Multiply] ──▶ [Return]

Call from another Board just like calling a Blueprint function.

Blueprint Macros expand inline. In Flow-Like, use subflows or board references for reusable logic.

Blueprint Pure Nodes: No execution pins, just data.

Flow-Like Getter Nodes: Same concept:

[Get Variable: score] ──▶ (value) // Pure, no exec wire

Pure nodes can be connected to multiple consumers and will evaluate when needed.

Blueprint:

[Cast To PlayerCharacter]
├── Object ◀──
├── Success ──▶ [Use as PlayerCharacter]
└── Failed ──▶ [Handle Error]

Flow-Like: Use type-specific nodes or validation:

[Validate Type]
├── value ◀──
├── valid ──▶ [Use Value]
└── invalid ──▶ [Handle Error]

Or Extract Knowledge with schema validation for structured data.

Blueprint Struct:

Struct: S_PlayerData
├── Name: String
├── Score: Integer
└── Inventory: Array<S_Item>

Flow-Like Struct:

Struct: PlayerData
├── name: String
├── score: Integer
└── inventory: Array<Item>

Break/Make struct nodes work similarly:

[Make PlayerData]
├── name ◀── "Alice"
├── score ◀── 100
├── inventory ◀── [empty array]
└── ──▶ PlayerData instance
[Get Field: name]
├── struct ◀── playerData
└── ──▶ "Alice"

Array operations are nearly identical:

Blueprint NodeFlow-Like Node
Make ArrayCreate Array
AddAppend
InsertInsert
Remove IndexRemove at Index
Remove ItemRemove Item
GetGet at Index
LengthArray Length
FindFind Index
ContainsContains
FilterFilter Array
Set Array ElemSet at Index
Append ArrayConcat Arrays

All familiar math nodes exist:

  • Add, Subtract, Multiply, Divide
  • Sin, Cos, Tan, etc.
  • Clamp, Lerp, Map Range
  • Min, Max, Abs
  • Vector operations
BlueprintFlow-Like
AppendConcat
Format TextTemplate String
To StringStringify
ContainsString Contains
SplitSplit String
JoinJoin Strings
ReplaceString Replace
To Upper/LowerTo Uppercase / To Lowercase
Blueprint Use CaseFlow-Like Equivalent
Player spawnsQuick Action triggered
Game tickScheduled event
Button pressedChat Event / Quick Action
API callHTTP Request
Save gameSave to Database / File
AI behavior treeAgent nodes
UI updateA2UI components
Network replicate(not applicable)

Blueprints run every frame. Flow-Like runs on-demand (events trigger flows).

No Actors, Components, or World. Instead: files, APIs, databases, AI.

Flow-Like is for data processing, not simulation.

  • Blueprints: Execution trace, watch values
  • Flow-Like: Wire inspection, execution history

Both enforce types at connection time. Incompatible types can’t connect.

  • Blueprints: Functions, Macros, Child Blueprints
  • Flow-Like: Boards, Quick Actions, Board references

Native AI integration:

[Chat Event] ──▶ [Invoke LLM] ──▶ [Response]

Build conversational AI, agents, RAG systems.

SQL across any source:

[Register CSV] ──▶ [SQL Query] ──▶ [Results Table]

Connect to real-world services:

  • REST APIs
  • Databases (PostgreSQL, MySQL, etc.)
  • Cloud storage (S3, Azure, GCS)
  • File systems

Run workflows:

  • Desktop app (like a packaged game)
  • Cloud backends (like dedicated servers)
  • Scheduled (like background services)
Event BeginPlay
Set Score = 0
Bind Event: OnEnemyKilled → Add to Score
---
Function: AddToScore(points)
├── Get Score
├── Add (Score + points)
├── Set Score
└── Update UI
Board: TaskTracker
├── Variables:
│ ├── completed_count: Integer = 0
│ └── tasks: Array<Task>
└── Events:
├── Quick Action: AddTask (task_name)
│ │
│ ▼
│ [Create Task] ──▶ [Append to tasks] ──▶ [Set Variable]
└── Quick Action: CompleteTask (task_id)
[Find Task] ──▶ [Mark Complete] ──▶ [Increment completed_count]
[Update UI Log]
Event Tick
Get Next Patrol Point
Move To Location
Branch: At Location?
├── True ──▶ Wait 2s ──▶ Get Next Point
└── False ──▶ Continue Moving
Scheduled Event (every 5 minutes)
HTTP Request: Get Metrics
Branch: Metric > Threshold?
├── True ──▶ Send Alert (Slack)
│ │
│ ▼
│ Log to Database
└── False ──▶ Log: "All normal"

Replace constant polling with event-driven triggers.

Your “game state” is Board Variables.

Each Board is like a Blueprint class—self-contained logic unit.

Expose functionality that other boards (or users) can call.

Same pins, same wires, same left-to-right flow.

Flow-Like is for automation/AI, not games. But the skills transfer!

Flow-Like has packages. Community contributions work similarly.

Yes—for data flow and AI behavior (not rendering/physics).

You could trigger Flow-Like workflows from Unreal via HTTP, but they’re separate tools.