Unreal Engine 5.3 – 5.8

Your players keep what they earned

Out-of-raid stashes, character equipment, traders and a player-run market for Unreal Engine survival games. Held on a server, so it is still there on a machine they have never played on.
Stash14 stacks · 10×6

3

90

4200

2

60

900

Every stack above has coordinates, a footprint and a durability the server owns.
Why it is built this way

Losing a rifle to a dropped packet is how players stop trusting a game

One ordering decision separates an inventory that is merely networked from one that is safe. It costs a duplicate in the worst case, which is visible and correctable — rather than a hole, which is neither.

How Raid State does it

Platform first. The character keeps the rifle until the server has it.

game

Player drags a rifle into the stash

platform

Server takes the rifle — and only now owns it

game

Character's copy is removed

A failed deposit costs the player nothing.

The obvious way

Take it locally, then push. One dropped packet and it is gone.

game

Player drags a rifle into the stash

game

Character's copy is removed immediately

platform

Push fails — the rifle existed nowhere

The player lost a rifle, and support cannot prove otherwise.

What you get

The parts of an economy nobody wants to write twice

Stashes that survive the raid

Grid or slot layouts, whichever your game already uses. Items keep their position, durability and attachments across sessions, servers and machines.

Server-authoritative by construction

The platform is changed first and the game follows. A dropped packet costs a player nothing, because nothing left their inventory until the server had it.

Intents, never state dumps

Every change is a grant, move, consume, split or merge. A retried request cannot duplicate an item, which a whole-inventory save eventually will.

A real ledger

Currency lives in double-entry accounts with a balance trigger. Money cannot be created by a bug, only moved.

Drops into Unreal

Precompiled binaries, no C++ toolchain required. Blueprint nodes for everything, and an offline queue that survives a restart.

Traders and a player-run market

Loyalty levels, restock schedules and player-to-player trading with escrow. Abuse controls ship with the feature, not after it.

One call

Grant an item, and it is on every server they join

No session to synchronise, no save file to merge. The platform decides where the item lands and hands back the coordinates, so your UI draws the truth rather than a guess.

inventory/grant
curl -X POST https://api.raidstate.com/v1/game/inventory/grant \
  -H "Authorization: Bearer $RAIDSTATE_KEY" \
  -d '{"container_id":"…","item_id":"AK74","quantity":1}'

{"outcomes":[{"kind":"grant",
  "instances":[{"item_id":"AK74","x":3,"y":0}]}]}

Drop it into your project

Two folders into Explorer, a key in the toolbar, and a stash panel in your menu. No C++ toolchain, no engine rebuild.