20% off Steal the Deal With Unreal Engine Plugins For Grab
DynamoLedger
Player data, inventories, stats and leaderboards in Amazon DynamoDB from Blueprints and C++: items, queries, batches, transactions and counters with plain JSON in and ou…
Highlights
All 14 features →DynamoLedger connects your game to Amazon DynamoDB without a separate backend or web layer. Save profiles, inventories, unlocks, settings and stats per player, and read leaderboards, straight from Blueprints or C++.
Items cross the Blueprint boundary as plain JSON strings. Struct To JSON turns any Blueprint struct into an item, JSON To Struct turns it back, and numbers keep their exact value. Write {IdentityId} in a key or value and DynamoLedger fills in the player's Amazon Cognito identity id, so an IAM policy with dynamodb:LeadingKeys can limit every player to their own items.
Put Item, Get Item, Update Item and Delete Item support condition expressions, and a failed condition arrives on its own On Condition Failed pin together with the current item - ideal for "only if the player has enough gold" or "create only once". Query and Scan read partitions, filters and secondary indexes page by page. Batch Get and Batch Write handle hundreds of items in one node and retry throttled entries with exponential back-off. Transact Write runs up to 100 puts, updates, deletes and checks that succeed or fail together, and tells you which operation cancelled it. Increment Counter adds to currencies and stats atomically and returns the new value, and Get Top Scores reads a leaderboard from a secondary index.
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. Requests run on background worker threads with automatic retries, so the game thread never blocks, and every result arrives back on the game thread.
DynamoLedger 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, an example table design, a leaderboard index and a ready-to-use IAM policy.
Key features
- Put Item, Get Item, Update Item, Delete Item with condition expressions and an On
- Query and Scan with key conditions, filters, secondary indexes, paging and parallel
- Batch Get (100 keys per request) and Batch Write (25 writes per request) with
- Transact Write: up to 100 operations, all or nothing, with readable cancellation
- Increment Counter: atomic add on top-level or nested number attributes, returns the
- Get Top Scores: leaderboard helper over a secondary index, highest or lowest first
- Plain JSON in and out: S, N, BOOL, NULL, L and M map to JSON; sets and binary values
- {IdentityId} token for per-player security with dynamodb:LeadingKeys
- Amazon Cognito identity pools for guest and signed-in players (Set Login Token for any
- Static keys (development and servers) and the default AWS credential chain
- Table name prefix and consistent-read default in the project settings
- Struct To JSON, JSON To Struct, Get JSON Field and Make Key JSON helpers
- Background worker threads, automatic retries with back-off, timeouts, custom endpoints
- Cancellable latent nodes; all results delivered on the game thread
Blueprint & C++ API
Every call is reachable from more than one place — pick the entry point that fits your project:
| Class | Type | Nodes | Use it for |
|---|---|---|---|
| DynamoLedgerLibrary | Function library | 12 | Configuration, identity and JSON helpers for DynamoLedger. |
| Async action nodes | Latent Blueprint nodes | 2 | Latent node with success / failure output pins. |
Callable runs when executed · Pure no exec pin, returns a value · LatentAsync finishes later and fires its outputs
DynamoLedger 2
| Node | Type | Available on | Description |
|---|---|---|---|
| Cancel | Async | Async | Stops waiting for this request: none of its output pins fire any more. The request itself may still complete on AWS. |
| Is Finished | Async | Async | True after Cancel was called or the node finished. |
Config 3
| Node | Type | Available on | Description |
|---|---|---|---|
| Set Region(Region: String) | Callable | Static | Switches the AWS region used by every following request. |
| Set Credential Mode(Mode: Dynamo Ledger Credential Mode) | Callable | Static | Overrides the credential mode from the project settings at runtime. |
| Is Configured() → Boolean, Problem | Pure | Static | Checks the settings and returns false with a reason when requests cannot work yet. |
Identity 5
| Node | Type | Available on | Description |
|---|---|---|---|
| Set Login Token(Provider: String, Token: String) | Callable | Static | Signs the player in to the Cognito identity pool with a token from an identity provider. |
| Clear Login Tokens | Callable | Static | Forgets 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) | Callable | Static | Uses these credentials from now on (Static Keys mode), for example temporary keys handed out by your own backend. |
| Get Identity Id() → String | Pure | Static | The Cognito identity id of this player (the value of {IdentityId}), empty until credentials were resolved once. |
| Make User Pool Provider Name(Region: String, User Pool Id: String) → String | Pure | Static | Builds the identity-pool login key of a Cognito user pool: cognito-idp.<region>.amazonaws.com/<user pool id>. |
JSON 4
| Node | Type | Available on | Description |
|---|---|---|---|
| Make Key JSON(Name: String, Value: String, Sort Name: String, Sort Value: String, Sort Value Is Number: Boolean) → String | Pure | Static | Builds a key JSON object such as {"pk": "{IdentityId}", "sk": "inventory"}. Leave Sort Name empty for tables without a sort key. |
| Struct To JSON(Struct: Integer) → Boolean, Json | Callable | Static | Converts any struct to a JSON object string (property names are used as keys). |
| JSON To Struct(Json: String) → Boolean, Out Struct | Callable | Static | Fills a struct from a JSON object string; fields that are missing keep their default values. |
| Get Json Field(Json: String, Path: String) → Boolean, Value | Pure | Static | Reads one value from a JSON document with a path such as "inventory[2].count". Strings are returned as-is, numbers and booleans as text, objects and arrays as JSON. |
Events & delegates
Bind these in Blueprint (drag off the object → Bind Event) or with AddDynamic in C++.
| Event | Parameters | Fires on |
|---|---|---|
| On Success | Old Item Json (String), Error (Dynamo Ledger Error) | DynamoLedgerPutItemAction |
| On Condition Failed | Old Item Json (String), Error (Dynamo Ledger Error) | DynamoLedgerPutItemAction |
| On Failure | Old Item Json (String), Error (Dynamo Ledger Error) | DynamoLedgerPutItemAction |
| On Not Found | Item Json (String), Error (Dynamo Ledger Error) | DynamoLedgerGetItemAction |
Project settings
Configure once under Project Settings › Plugins › DynamoLedger — values are saved to the project's config .ini, so they travel with the project and your build.
| Setting | Section | Type | What it does |
|---|---|---|---|
| Region | Connection | String | AWS region of your tables and identity pool, for example "us-east-1" or "eu-west-1". |
| Credential Mode | Credentials | Credential Mode | Where request credentials come from. |
| Identity Pool Id | Credentials | String | Cognito identity pool, for example "us-east-1:01234567-89ab-cdef-0123-456789abcdef". |
| Allow Guest Access | Credentials | Boolean | Allow unauthenticated (guest) identities before Set Login Token is called. The pool must allow guest access too. |
| Access Key Id | Credentials | String | Access key for Static Keys mode. Keys saved here end up in DefaultGame.ini - use them for development and servers only. |
| Secret Access Key | Credentials | String | Secret key for Static Keys mode. |
| Allow Static Keys In Shipping | Credentials | Boolean | Static keys are refused in Shipping builds unless this is enabled (for example on a dedicated server). |
| Endpoint Override | Connection | String | Custom endpoint, for example DynamoDB Local at "http://localhost:8000". Empty = the regional AWS endpoint. |
| Request Timeout Ms | Connection | Integer | Total time a request may take, in milliseconds. |
| Connect Timeout Ms | Connection | Integer | Time allowed to open the connection, in milliseconds. |
| Max Retries | Connection | Integer | Automatic retries with exponential back-off for throttled and transient failures. |
| Worker Threads | Connection | Integer | Worker threads that run requests in the background (requests never block the game thread). |
| Verify SSL | Connection | Boolean | Verify TLS certificates. Only disable for a local emulator. |
| Log Sdk Warnings | Connection | Boolean | Forward SDK warnings and errors to the Output Log (LogDynamoLedger). |
| Table Prefix | DynamoDB | String | Prepended to every table name, for example "mygame-prod-" so a node can just say "players". |
| Consistent Reads By Default | DynamoDB | Boolean | Use strongly consistent reads for Get Item, Batch Get and for Query / Scan on the table itself (global secondary indexes are always eventually consistent). |
Options & enums
| Enum | Values |
|---|---|
| Credential Mode | Cognito Identity Pool Static Keys Default Credential Chain |
Compatibility
One ready-made build per engine version is included in the download — copy the one that matches your project.
| Platform | Supported in |
|---|---|
| Windows | Editor & packaged |
| Linux | Editor & packaged |
| Android | Packaged builds |
| Module | Type | Loading phase |
|---|---|---|
| DynamoLedger | Runtime | Default |
Technical details
| Code modules | DynamoLedger (Runtime), DynamoLedgerSdk (External, Source/ThirdParty - prebuilt AWS SDK for C++) |
|---|---|
| Blueprints | 0 · C++ classes: 15 |
| Network replicated | No |
| Development platforms | Windows: Yes, Mac: No, Linux: Yes |
| Target build platforms | Win64, Linux, Android |
| Third-party software | Yes - AWS SDK for C++ 1.11.916 (Apache-2.0) and the AWS Common Runtime libraries (Apache-2.0), in Source/ThirdParty/DynamoLedgerSdk |
| Engine versions | Unreal Engine 4.27 · 5.8 — a build for each is included |
| C++ classes | 15 + 1 structs |
| Blueprint nodes | 14 |
| Events | 4 |
| Documentation | Documentation.html (in the download) |
| Download | DynamoLedger.zip · 38.2 MB |
| Version | v1.0.0 |
What's in the download
| File | What it is |
|---|---|
| DynamoLedger 4.27.zip | Plugin build for Unreal Engine 4.27 |
| DynamoLedger 5.8.zip | Plugin build for Unreal Engine 5.8 |
| Documentation.html | Documentation (open in a browser) |
Quick start
- Unzip the download and pick the build that matches your engine (4.27 · 5.8).
- Copy the DynamoLedger folder into your project's Plugins/ folder (create it if needed).
- Open the project, enable DynamoLedger under Edit › Plugins and restart the editor.
- Fill in Project Settings › Plugins › DynamoLedger.
- Right-click in any Blueprint graph and search DynamoLedger — or include the public headers from C++.
- Package for your target platform (Windows, Linux, Android).
Good to know
Made for Unreal Engine 4.27 and 5.8. Requires an AWS account; DynamoDB and Cognito usage is billed by AWS. 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 DynamoLedger 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
- Put Item, Get Item, Update Item, Delete Item with condition expressions and an On…
- Query and Scan with key conditions, filters, secondary indexes, paging and parallel…
- Batch Get (100 keys per request) and Batch Write (25 writes per request) with…
- Transact Write: up to 100 operations, all or nothing, with readable cancellation…
- Increment Counter: atomic add on top-level or nested number attributes, returns the…
- Get Top Scores: leaderboard helper over a secondary index, highest or lowest first
- Plain JSON in and out: S, N, BOOL, NULL, L and M map to JSON; sets and binary values…
- {IdentityId} token for per-player security with dynamodb:LeadingKeys
- Amazon Cognito identity pools for guest and signed-in players (Set Login Token for any…
- Static keys (development and servers) and the default AWS credential chain
- Table name prefix and consistent-read default in the project settings
- Struct To JSON, JSON To Struct, Get JSON Field and Make Key JSON helpers
- Background worker threads, automatic retries with back-off, timeouts, custom endpoints…
- Cancellable latent nodes; all results delivered on the game thread
Platforms
Requirements
- Unreal Engine 4.27 and 5.8
- Develop on Windows (Win64)
- Blueprints and C++
In the download
Personal
One non-commercial project
- 1 activation seat
- 1 year of updates
- One end product
- Non-commercial use
- Community support
- 14-day refund window
Commercial
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
Extended
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
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.
- v1.0.0Latest
- Unreal Engine 4.27 and 5.8
- Blueprint and C++ API, HTML documentation
Be the first to review DynamoLedger — reviews come from customers who bought it, so every one is a verified purchase.
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
AudioLens
Real-time audio analysis: FFT spectrum, onset and beat detection, and a full set of time- and frequency-domain descriptors..
★★★★★ No reviews yetTTechHarbour$14.00BlueprintTCP
BlueprintTCP lets you connect to any TCP server and exchange data entirely from Blueprints — no C++ and no networking boilerplate.
★★★★★ No reviews yetTTechHarbour$12.99BluetoothLink
Bluetooth Low Energy for Unreal - scan, connect, read, write and subscribe to BLE devices on Android and iOS.
★★★★★ No reviews yetTTechHarbour$11.99ClusterLink
SocketCluster realtime client for Unreal - pub/sub channels, auth engine and JSON codec, usable from Blueprints.
★★★★★ No reviews yetTTechHarbour$11.99