FOR DEVELOPERS / UNREAL PREVIEW
Fetch verified game data in Unreal.
This walkthrough uses the public Unreal subsystem API and the prebuilt Win64 review plugin. The API documentation is public. Binary SDK terms apply
Before you begin
The 0.28.14-preview review package targets Unreal Engine 5.8 on Windows x64 and carries GameReader 0.28.17-preview with C ABI revision 16. It is an owner-side technical review artifact, not a public download yet. Obtain the matching plugin package and review its included binary license before integration. The package contains the public Unreal header and compiled module plus the native GameReader DLL; it contains no implementation source. Read the licensing boundary.
You need a hosted AmoosedWeb site with a game catalogue containing an item for your game ID and version. This subsystem supports hosted and externally indexed catalogues, public items, and protected member items. Keep external index credentials and member key files outside published game content.
1. Install the plugin
- Copy the packaged
AmoosedWebdirectory into your Unreal project'sPlugins/directory. - Build and open the project with the matching Unreal Engine 5.8 Win64 toolchain. Enable the AmoosedWeb Runtime plugin if prompted.
- Check that the plugin module loads. The packaged native
AmoosedWebGameReaderC.dllmust be present beside the plugin's Win64 binary.
The plugin checks the native ABI revision and required capabilities during Configure. After a synchronous start failure or a completed Blueprint event, read GetLastStatusCode for the numeric native category and GetLastError for display text. The public C header defines preview status values; they are not yet a stable 1.0 ABI.
2. Configure and refresh in Blueprint
- From a Game Instance context, call
Get Game Instance Subsystemand selectAmoosedWebSubsystem. Keep the returned reference. - Bind
OnCatalogueRefreshedandOnItemFetchedbefore starting operations. - Call
Configurewith the HTTPS site origin, your game ID, and your game version. IfGetLastErroris nonempty, stop and report it. - Call
RefreshHostedCataloguefor a hosted index, orRefreshExternalCataloguewith an absolute path to a trusted.amwkeyor packed ICO. Keep the credential outside published game content. Afalsereturn means the operation did not start; readGetLastError. Wait forOnCatalogueRefreshedbefore using the catalogue. - When the refresh event reports success, inspect
GetCatalogueRevisionandGetCatalogueItems. Each verified entry has an ID, kind, and resource path. Select the kind your game handles and pass its ID to the fetch operation.GetItemIdsremains available when only IDs are needed. - Call
FetchPublicItemwith that item ID and a single safe output file name, for examplelevel-data.json. Wait forOnItemFetched. On success, use itsOutputPath; on failure, display itsMessage.
Refresh and fetch run on a worker thread. Their Blueprint events arrive on the game thread. Only one operation can run at a time. IsOperationActive stays true until the game-thread completion callback has updated the status and broadcast the event. The downloaded file is written under the project's Saved/AmoosedWeb/ directory, and an existing destination is never replaced. Catalogue paths describe verified remote resources; they are not local output paths. Parse fetched records as data under your game's own rules.
3. Handle cancellation and updates
CancelActiveOperation requests cancellation of an active refresh or fetch. After cancelling, call Configure again before retrying with a new native session. Reconfiguration also cancels the previous session and clears its catalogue; callbacks from the old session are suppressed. Treat a refreshed catalogue revision as data from the site, not as a code update.
For a protected item, call FetchMemberItem with its item ID, safe output file name, and an absolute path to a private file containing 64 hexadecimal key characters. A newline is allowed. The key is read by the worker and never included in Blueprint events. A wrong or malformed key leaves no output file.
The plugin downloads verified data for logic already compiled into your game. It does not load executable code, Blueprints, PAKs, or IoStore content. Test gameplay, cancellation, and packaging on your target build before release. The owner review gate has checked independent PixelMaze gameplay and viewport output, protected item rejection, and cancellation during paused catalogue and item carrier requests on Win64. Other platforms and longer running packaged-game lifecycles need their own checks.
API reference
Read the complete public Unreal header, the public header index, and the native ABI preview. The public declarations show exactly which operations this adapter exposes. Implementation source requires a separate paid agreement