StepFlow

AWS Step Functions for Blueprints and C++: start, track and stop workflows, run Express workflows synchronously, read execution history and make the game an activity wor…

Malware-scannedSigned licence keyInstant downloadUpdates included
StepFlow β€” screenshot 1
StepFlow β€” screenshot 2
StepFlow β€” screenshot 3
StepFlow β€” screenshot 4
StepFlow β€” screenshot 5
StepFlow β€” screenshot 6
StepFlow β€” screenshot 7
StepFlow β€” screenshot 8
StepFlow β€” screenshot 9
StepFlow β€” screenshot 10
StepFlow β€” screenshot 11
StepFlow β€” screenshot 12
StepFlow β€” screenshot 13
StepFlow β€” screenshot 14
StepFlow β€” screenshot 15
StepFlow β€” screenshot 16
StepFlow β€” screenshot 17
StepFlow β€” screenshot 18
StepFlow β€” screenshot 19
StepFlow β€” screenshot 20
StepFlow β€” screenshot 21
StepFlow β€” screenshot 22
StepFlow β€” screenshot 23
StepFlow β€” screenshot 24
StepFlow β€” screenshot 25
StepFlow β€” screenshot 26
StepFlow β€” screenshot 27
StepFlow β€” screenshot 28
StepFlow β€” screenshot 29
StepFlow β€” screenshot 30
1 / 30
Start Execution, Run Execution (start and wait), Wait For Execution with progress and…
Start Sync Execution for Express workflows: output, error / cause, billed duration and…
Describe, Stop, List (status / redrive filters, paging) and Redrive executions
Execution history as typed events, state timeline, last error and cause, state outputs
Activity Worker component: background long polling, task tokens, Complete / Fail…
Send Task Success / Failure / Heartbeat for activity and callback (waitForTaskToken) tasks
$64.99

StepFlow connects your game to AWS Step Functions. Keep multi-step backend logic - reward pipelines, match result processing, crafting queues, moderation, account deletion, AI chains - in state machines on AWS and drive them straight from Blueprints or C++.

Start Execution launches a workflow and returns its execution ARN. Run Execution starts it and waits for the result in one node, with a progress pin after every check and an optional timeout; Wait For Execution does the same for an execution started elsewhere. Start Sync Execution runs an Express workflow and returns its output, error and billed duration and memory in a single call. Describe, Stop, List (status and redrive filters, paging) and Redrive cover the rest of the execution life cycle.

Get Execution History returns the full event log as typed events with their details as JSON. Get State Timeline turns it into one entry per state with durations, Get Last Error And Cause finds the state that failed, and Get State Output reads the result of any state.

The StepFlow Activity Worker component makes the game - a client, a dedicated server or an editor tool - a Step Functions activity worker. It long-polls for tasks on a background thread, never on the game thread, fires On Task Received with the task token and JSON input, and waits for Complete Current Task or Fail Current Task. Automatic heartbeats keep long tasks alive, a pending-task limit pauses polling while work is queued, and tasks that expire on AWS are reported. Send Task Success, Send Task Failure and Send Task Heartbeat also answer callback tasks (waitForTaskToken) from Lambda, SQS or EventBridge.

Live-ops and tools get the control plane: list, describe, create, update and delete state machines, validate definitions on the service, publish versions, read aliases and their routing, manage activities and inspect or tune Distributed Map runs.

Players get credentials from an Amazon Cognito identity pool: as guests, or signed in with a token from a Cognito user pool, Google, Apple, Facebook or any OpenID provider through Set Login Token. Static keys and the default AWS credential chain are available for development, dedicated servers and tools. ARN builders and parsers, unique execution names, X-Ray trace headers and JSON helpers (Struct To JSON, JSON To Struct, Get JSON Field, Make JSON Object, Set JSON Field) complete the 79 Blueprint nodes.

StepFlow is part of the Alpha XP AWS collection for Unreal Engine 4.27 and 5.8. It includes the AWS SDK for C++ prebuilt for Win64, Linux and Android and ships with styled HTML documentation.

47Blueprint nodes
13Events
19Project settings
2Engine builds

Key features

  • Start Execution, Run Execution (start and wait), Wait For Execution with progress and
  • Start Sync Execution for Express workflows: output, error / cause, billed duration and
  • Describe, Stop, List (status / redrive filters, paging) and Redrive executions
  • Execution history as typed events, state timeline, last error and cause, state outputs
  • Activity Worker component: background long polling, task tokens, Complete / Fail
  • Send Task Success / Failure / Heartbeat for activity and callback (waitForTaskToken) tasks
  • State machines: list, describe, create, update, delete, validate definition, versions
  • Activities: create, delete, list, describe; Distributed Map runs: list, describe, update
  • Plain names instead of ARNs with the Account Id setting; Default State Machine for
  • ARN builders and parsers, unique execution names, X-Ray trace headers, console links
  • JSON helpers for workflow input and output
  • Amazon Cognito identity pools for guest and signed-in players; static keys and the
  • Background worker threads, automatic retries, cancellable latent nodes, results on the
  • C++ API with native callbacks

Blueprint & C++ API

Every call is reachable from more than one place β€” pick the entry point that fits your project:

ClassTypeNodesUse it for
StepFlowLibraryFunction library30Configuration, identity, ARN, history and JSON helpers for StepFlow.
StepFlowActivityWorkerComponentActor component15Turns the game (a client, a dedicated server or a tool) into a Step Functions activity worker.
Async action nodesLatent Blueprint nodes2Latent node with success / failure output pins.

Callable runs when executed Β· Pure no exec pin, returns a value Β· LatentAsync finishes later and fires its outputs

Worker 15
NodeTypeAvailable onDescription
Start Worker(Activity Override: String)CallableComponentStarts polling for tasks in the background.
Stop WorkerCallableComponentStops polling. A poll in flight ends by itself within its long-poll time (up to 60 s); a task it still delivers is reported normally.
Is Running() β†’ BooleanPureComponentTrue from Start Worker until Stop Worker (also while waiting for answers).
Get Worker State() β†’ Step Flow Worker StatePureComponentStopped, Polling, Waiting (Max Pending Tasks reached) or Stopping.
Complete Current Task(Output: String) β†’ BooleanCallableComponentReports the oldest pending task as succeeded with a JSON output (empty = {}). Returns false when no task is pending.
Fail Current Task(Error: String, Cause: String) β†’ BooleanCallableComponentReports the oldest pending task as failed with an error name and cause. Returns false when no task is pending.
Complete Task(Task Token: String, Output: String)CallableComponentReports a specific pending task (by token) as succeeded. Also accepts tokens this worker does not hold.
Fail Task(Task Token: String, Error: String, Cause: String)CallableComponentReports a specific task (by token) as failed.
Hand Off Task(Task Token: String) β†’ BooleanCallableComponentRemoves a task from the pending list without answering it, for example after handing its token to your backend.
Get Current Task Token() β†’ StringPureComponentThe token of the oldest pending task, empty when none.
Get Current Task() β†’ Boolean, TaskPureComponentThe oldest pending task (token, input, arrival time). False when none.
Get Pending Tasks() β†’ Array of Step Flow Activity TaskPureComponentEvery task waiting for an answer, oldest first.
Send Heartbeat NowCallableComponentSends a heartbeat for every pending task now.
Set Auto Heartbeat Interval(Seconds: Float)CallableComponentChanges the automatic heartbeat interval (seconds, 0 = off).
Get Stats() β†’ Step Flow Worker StatsPureComponentCounters since Start Worker: tasks received / completed / failed, heartbeats, empty polls, errors, uptime, last error.
StepFlow 2
NodeTypeAvailable onDescription
CancelAsyncAsyncStops waiting for this request: none of its output pins fire any more. The request itself may still complete on AWS.
Is FinishedAsyncAsyncTrue after Cancel was called or the node finished.
Config 5
NodeTypeAvailable onDescription
Set Region(Region: String)CallableStaticSwitches the AWS region used by every following request.
Set Credential Mode(Mode: Step Flow Credential Mode)CallableStaticOverrides the credential mode from the project settings at runtime.
Is Configured() β†’ Boolean, ProblemPureStaticChecks the settings and returns false with a reason when requests cannot work yet.
Set Default State Machine(State Machine: String)CallableStaticOverrides the settings' Default State Machine Arn at runtime (used by nodes that leave State Machine empty).
Set Account Id(Account Id: String)CallableStaticOverrides the settings' Account Id at runtime, so nodes accept plain state machine / activity names.
Identity 5
NodeTypeAvailable onDescription
Set Login Token(Provider: String, Token: String)CallableStaticSigns the player in to the Cognito identity pool with a token from an identity provider.
Clear Login TokensCallableStaticForgets all login tokens and the cached identity (the player becomes a guest again).
Set Static Credentials(Access Key Id: String, Secret Access Key: String, Session Token: String)CallableStaticUses these credentials from now on (Static Keys mode), for example temporary keys handed out by your own backend.
Get Identity Id() β†’ StringPureStaticThe Cognito identity id of this player, empty until credentials were resolved once.
Make User Pool Provider Name(Region: String, User Pool Id: String) β†’ StringPureStaticBuilds the identity-pool login key of a Cognito user pool: cognito-idp.<region>.amazonaws.com/<user pool id>.
ARN 6
NodeTypeAvailable onDescription
Make State Machine Arn(Name: String, Qualifier: String, Region: String, Account Id: String) β†’ StringPureStaticBuilds a state machine ARN: arn:aws:states:<region>:<account>:stateMachine:<name>[:<qualifier>].
Make Activity Arn(Name: String, Region: String, Account Id: String) β†’ StringPureStaticBuilds an activity ARN: arn:aws:states:<region>:<account>:activity:<name>. Empty Region / Account Id = the configured values.
Make Execution Arn(State Machine: String, Execution Name: String, Express: Boolean) β†’ StringPureStaticBuilds the ARN of a named execution from its state machine (ARN or name): ...:execution:<machine>:<name> (Express: ...:express:...).
Parse Arn(Arn: String) β†’ Boolean, PartsPureStaticSplits a Step Functions ARN into partition, region, account, resource type, name and qualifier. False if it is not a states ARN.
Get Name From Arn(Arn: String) β†’ StringPureStaticThe state machine / activity name of an ARN ("arn:...:stateMachine:Quest:3" -> "Quest"). Plain names come back unchanged.
Get Execution Name(Execution Arn: String) β†’ StringPureStaticThe execution name at the end of an execution ARN.
Executions 5
NodeTypeAvailable onDescription
Is Terminal Status(Status: Step Flow Execution Status) β†’ BooleanPureStaticTrue for Succeeded, Failed, Timed Out and Aborted (the execution will not change any more).
Make Unique Execution Name(Prefix: String) β†’ StringCallableStaticA unique execution name: <Prefix>-<UTC yyyyMMdd-HHmmss>-<8 random hex>, at most 80 characters. Names make starts idempotent.
Is Valid Execution Name(Name: String) β†’ BooleanPureStaticChecks the execution / state machine / activity naming rules: 1-80 characters, no whitespace, brackets, wildcards, quotes, control characters or other special c…
Make Trace Header(Sampled: Boolean) β†’ StringCallableStaticBuilds an AWS X-Ray trace header "Root=1-<hex time>-<24 hex>;Sampled=1" to pass to Start Execution.
Get Execution Console Url(Execution Arn: String) β†’ StringPureStaticThe AWS console page of an execution (for logs and support tools).
History 4
NodeTypeAvailable onDescription
Get Events Of Type(Events: Array of Step Flow History Event, Type: String, Contains: Boolean) β†’ Array of Step Flow History EventPureStaticThe events whose Type matches.
Get Last Error And Cause(Events: Array of Step Flow History Event) β†’ Boolean, Error, Cause, State NamePureStaticThe newest event that carries an error, with its error, cause and the state it happened in. False when nothing failed.
Get State Timeline(Events: Array of Step Flow History Event) β†’ Array of Step Flow State VisitPureStaticPairs StateEntered / StateExited events into one visit per state with times and durations, in execution order.
Get State Output(Events: Array of Step Flow History Event, State Name: String) β†’ Boolean, OutputPureStaticThe JSON output of the last exit of a state (needs history with Include Data). False if the state never exited.
JSON 5
NodeTypeAvailable onDescription
Struct To JSON(Struct: Integer) β†’ Boolean, JsonCallableStaticConverts any struct to a JSON object string (property names are used as keys).
JSON To Struct(Json: String) β†’ Boolean, Out StructCallableStaticFills a struct from a JSON object string (for example an execution's Output); fields that are missing keep their default values.
Get JSON Field(Json: String, Path: String) β†’ Boolean, ValuePureStaticReads one value from a JSON document with a path such as "player.stats[2].score". Strings are returned as-is, numbers and booleans as text, objects and arrays as JSON.
Make JSON Object(Fields: Map String β†’ String, Parse Values: Boolean) β†’ StringPureStaticBuilds a JSON object from key / value pairs, for example an execution input.
Set JSON Field(Json: String, Path: String, Value: String, Value Is Json: Boolean) β†’ Boolean, ResultPureStaticSets (or adds) one field of a JSON object and returns the new JSON. Path may be nested ("player.level"); missing objects are created.

Events & delegates

Bind these in Blueprint (drag off the object β†’ Bind Event) or with AddDynamic in C++.

EventParametersFires onWhen it fires
On Task ReceivedTask (Step Flow Activity Task)StepFlowActivityWorkerComponentA task arrived. Answer it with Complete Current Task / Fail Current Task (or by token).
On Task AnsweredTask Token (String), Delivered (Boolean), Error (Step Flow Error)StepFlowActivityWorkerComponentThe answer (success or failure) of a task reached Step Functions (Delivered) or could not be sent (Error).
On Task LostTask Token (String), Error (Step Flow Error)StepFlowActivityWorkerComponentA pending task timed out or no longer exists on AWS (seen by a heartbeat); it was removed from the pending list.
On Worker ErrorError (Step Flow Error)StepFlowActivityWorkerComponentA poll failed. Retryable errors are retried with back-off; others also stop the worker (On Worker Stopped follows).
On Worker Stoppedβ€”StepFlowActivityWorkerComponentThe worker stopped polling (Stop Worker, a permanent error or end of play).
On SuccessExecution (Step Flow Execution), Error (Step Flow Error)StepFlowExecutionAction
On FailureExecution (Step Flow Execution), Error (Step Flow Error)StepFlowExecutionAction
On CompletedResult (Step Flow Sync Result), Error (Step Flow Error)StepFlowSyncAction
On SucceededExecution (Step Flow Execution), Error (Step Flow Error)StepFlowWaitAction
On FailedExecution (Step Flow Execution), Error (Step Flow Error)StepFlowWaitAction
On PolledExecution (Step Flow Execution), Error (Step Flow Error)StepFlowWaitAction
On TaskTask (Step Flow Activity Task), Error (Step Flow Error)StepFlowGetTaskAction
On No TaskTask (Step Flow Activity Task), Error (Step Flow Error)StepFlowGetTaskAction

Project settings

Configure once under Project Settings β€Ί Plugins β€Ί StepFlow β€” values are saved to the project's config .ini, so they travel with the project and your build.

SettingSectionTypeWhat it does
RegionConnectionStringAWS region of your state machines and identity pool, for example "us-east-1" or "eu-west-1".
Credential ModeCredentialsCredential ModeWhere request credentials come from.
Identity Pool IdCredentialsStringCognito identity pool, for example "us-east-1:01234567-89ab-cdef-0123-456789abcdef".
Allow Guest AccessCredentialsBooleanAllow unauthenticated (guest) identities before Set Login Token is called. The pool must allow guest access too.
Access Key IdCredentialsStringAccess key for Static Keys mode. Keys saved here end up in DefaultGame.ini - use them for development and servers only.
Secret Access KeyCredentialsStringSecret key for Static Keys mode.
Allow Static Keys In ShippingCredentialsBooleanStatic keys are refused in Shipping builds unless this is enabled (for example on a dedicated server).
Endpoint OverrideConnectionStringCustom endpoint, for example a local emulator such as "http://localhost:8083". Empty = the regional AWS endpoint.
Request Timeout MsConnectionIntegerTotal time a normal request may take, in milliseconds.
Connect Timeout MsConnectionIntegerTime allowed to open the connection, in milliseconds.
Max RetriesConnectionIntegerAutomatic retries with exponential back-off for throttled and transient failures.
Worker ThreadsConnectionIntegerWorker threads that run requests in the background (requests never block the game thread). Each running activity worker occupies one thread while it polls.
Verify SSLConnectionBooleanVerify TLS certificates. Only disable for a local emulator.
Log Sdk WarningsConnectionBooleanForward SDK warnings and errors to the Output Log (LogStepFlow).
Default State Machine ArnStep FunctionsStringState machine used when a node leaves State Machine empty: an ARN, or a plain name when Account Id is set.
Account IdStep FunctionsStringYour 12-digit AWS account id. Lets nodes accept plain state machine / activity names instead of ARNs.
Activity Worker NameStep FunctionsStringWorker name sent with Get Activity Task (shows up in the execution history). Empty = the computer name.
Long Request Timeout MsStep FunctionsIntegerTimeout in milliseconds of the long-running calls: Get Activity Task (a 60 second long poll; AWS asks for at least 65 seconds) and Start Sync Execution (an Expr…
Wait Poll Interval SecondsStep FunctionsFloatSeconds between two Describe Execution calls of Wait For Execution / Run Execution when the node's interval is 0.

Options & enums

EnumValues
Credential ModeCognito Identity Pool Static Keys Default Credential Chain
Execution StatusAny / Unknown Running Succeeded Failed Timed Out Aborted Pending Redrive
State Machine TypeStandard Express
Map Run StatusUnknown Running Succeeded Failed Aborted
Redrive FilterAny Redriven Not Redriven
Worker StateStopped Polling Waiting Stopping

Compatibility

UE 4.27StepFlow 4.27.zipUE 5.8StepFlow 5.8.zip

One ready-made build per engine version is included in the download β€” copy the one that matches your project.

PlatformSupported in
WindowsEditor & packaged
LinuxEditor & packaged
AndroidPackaged builds
ModuleTypeLoading phase
StepFlowRuntimeDefault

Technical details

Code modulesStepFlow (Runtime), StepFlowSdk (External, Source/ThirdParty - prebuilt AWS SDK for C++)
Blueprints0 Β· C++ classes: 22
Network replicatedNo
Development platformsWindows: Yes, Mac: No, Linux: Yes
Target build platformsWin64, Linux, Android
Third-party softwareYes - AWS SDK for C++ 1.11.916 (Apache-2.0), with the AWS Common Runtime libraries, in Source/ThirdParty/StepFlowSdk
Engine versionsUnreal Engine 4.27 Β· 5.8 β€” a build for each is included
C++ classes22 + 17 structs
Blueprint nodes47
Events13
DocumentationDocumentation.html (in the download)
DownloadStepFlow.zip Β· 35.4 MB
Versionv1.0.0

What's in the download

FileWhat it is
StepFlow 4.27.zipPlugin build for Unreal Engine 4.27
StepFlow 5.8.zipPlugin build for Unreal Engine 5.8
Documentation.htmlDocumentation (open in a browser)

Quick start

  1. Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
  2. Copy the StepFlow folder into your project's Plugins/ folder (create it if needed).
  3. Open the project, enable StepFlow under Edit β€Ί Plugins and restart the editor.
  4. Fill in Project Settings β€Ί Plugins β€Ί StepFlow.
  5. Right-click in any Blueprint graph and search Worker β€” or include the public headers from C++.
  6. Package for your target platform (Windows, Linux, Android).

Good to know

Built for Unreal Engine 4.27 and 5.8. Requires an AWS account; Step Functions and Cognito usage is billed by AWS. The activity worker's 60-second long poll runs on a plugin worker thread and never blocks the game thread. On Linux and Android the SDK uses the engine's libcurl and OpenSSL and the engine's certificate store. On Win64 the SDK is one DLL with a plugin-specific name, so StepFlow can be installed next to other AWS-based plugins. Never ship long-term access keys in a game client: use a Cognito identity pool for players. Developed and maintained by Alpha XP.

Everything included

  • Start Execution, Run Execution (start and wait), Wait For Execution with progress and…
  • Start Sync Execution for Express workflows: output, error / cause, billed duration and…
  • Describe, Stop, List (status / redrive filters, paging) and Redrive executions
  • Execution history as typed events, state timeline, last error and cause, state outputs
  • Activity Worker component: background long polling, task tokens, Complete / Fail…
  • Send Task Success / Failure / Heartbeat for activity and callback (waitForTaskToken) tasks
  • State machines: list, describe, create, update, delete, validate definition, versions…
  • Activities: create, delete, list, describe; Distributed Map runs: list, describe, update
  • Plain names instead of ARNs with the Account Id setting; Default State Machine for…
  • ARN builders and parsers, unique execution names, X-Ray trace headers, console links
  • JSON helpers for workflow input and output
  • Amazon Cognito identity pools for guest and signed-in players; static keys and the…
  • Background worker threads, automatic retries, cancellable latent nodes, results on the…
  • C++ API with native callbacks

Platforms

WindowsLinuxAndroid

Requirements

  • Unreal Engine 4.27 and 5.8
  • Develop on Windows (Win64)
  • Blueprints and C++

In the download

FileStepFlow.zip
FormatZIP
Size35.4 MB
Versionv1.0.0
Licence fileIncluded in the archive
SHA-256e9d2ffc43561cb93…

Personal

$64.99

One non-commercial project

  • 1 activation seat
  • 1 year of updates
  • One end product
  • Non-commercial use
  • Community support
  • 14-day refund window
Read the Personal terms
β˜… Most popular

Commercial

$194.99

Ship paid products

  • 5 activation seats
  • 1 year of updates
  • One paid end product
  • Unlimited end users
  • Priority support
  • Source files
  • 14-day refund window
Read the Commercial terms

Extended

$615.00

Resell & white-label

  • Unlimited activation seats
  • Lifetime updates
  • Unlimited end products
  • White-label & resell
  • 1-hour SLA
  • Seat-free team use
  • 14-day refund window
Read the Extended terms

One purchase per product, no subscription. Each licence comes with a signed key β€” 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.

  1. v1.0.0Latest
    • Unreal Engine 4.27 and 5.8
    • Blueprint and C++ API, HTML documentation
β€”
β˜…β˜…β˜…β˜…β˜…
No reviews yet
5β˜…0%
4β˜…0%
3β˜…0%
2β˜…0%
1β˜…0%

Be the first to review StepFlow β€” reviews come from customers who bought it, so every one is a verified purchase.

Reviews are for customers who bought StepFlow.
Email supportsupport@alphaxp.net β€” include your order reference.
What support coversInstallation help, download or activation problems, and questions about documented behaviour, for your licence term.
Keys & downloadsLost a key or a download link? Everything you bought is in My library.
Refunds & terms14-day refunds from your order page. Refund policy Β· Personal terms Β· Commercial terms Β· Extended terms

Frequently asked

How do I get the files after paying?

Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.

Which licence do I need?

Personal β€” One non-commercial project. Commercial β€” Ship paid products. Extended β€” Resell & white-label. The Licences tab compares them side by side.

On how many devices can I activate it?

1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.

How long do I get updates?

Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.

Can I get a refund?

Yes β€” paid licences can be refunded within 14 days, straight from your order page.

Is the download safe?

The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β†’ In the download, so you can verify the file you receive.

Do I need an account?

No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.

More like this

From the same studio
$64.99Personal licence Β· StepFlow
✦ Why TechHarbour

Software you own, from the people who built it.

117 products, one studio. Each ships with a signed licence key, an instant download and 14-day refunds β€” and every file is malware-scanned before it goes on sale.