#TurboStruct - True Async Save System[Plugin]

1 messages · Page 1 of 1 (latest)

edgy needle
#

Hi everyone,

I’d like to share a plugin I’ve been working on to address a very common pain point in Unreal projects: save system hitches. TurboStruct is an asynchronous save system that serializes structs and arrays directly to disk, without going through USaveGame or creating intermediate UObjects. All compression and disk I/O are moved to a background thread so the Game Thread stays responsive.

In stress tests with a ~1GB “torture struct”, the native UE5 save system (sync/async) can freeze the game for several seconds, while TurboStruct reduces that stall to just a few milliseconds and offloads the rest of the work to worker threads. On load, the InstantSwap path applies a 1GB snapshot on the Game Thread in only a few microseconds, keeping frame time stable even in extreme scenarios.

If anyone is interested in trying it out in real projects and comes across bugs or edge cases, any feedback would be greatly appreciated so I can keep improving the plugin.

What is TurboStruct?

TurboStruct is a production-oriented save system designed to replace USaveGame in scenarios where performance and hitch-free gameplay are critical. Instead of forcing you to create custom SaveGame classes, cast half of your scene, and wrestle with references, you plug your Struct/Array directly into the node and let TurboStruct handle snapshotting, compression, and writing off the Game Thread.

Key Features

🔁 Fully asynchronous and non-blocking
All compression, encryption, and I/O happen on background threads. The Game Thread only performs a quick snapshot copy and then returns to gameplay.

🧩 Wildcard nodes for Blueprints
Connect any Struct, Array, Map, or Set directly to the save/load node. No C++, no wrappers, and no custom USaveGame classes required.

💾 Smart memory streaming (64KB)
Uses a fixed 64KB buffer, so saving huge files (hundreds of MB or 1GB) does not mean allocating that entire size in RAM at once.

🧠 Robust schema evolution
You can rename, reorder, or remove variables in your structs without breaking old save files. The system aligns fields by name and safely skips incompatible types.

🔐 Safety and stability
Atomic saves (write to a temporary file and only swap if everything succeeds), per-slot queues to avoid race conditions, and support for standard compression backends (Oodle, LZ4, Zlib, Gzip) with integrated encryption.

📊 UI-friendly observability tools
Getter nodes to check if a slot/system is busy, how many operations are queued, and more. Ideal for Saving…” indicators, disabling buttons while saving, or ensuring it’s safe for the player to quit.

Fab:https://www.fab.com/listings/915884dc-1a43-4b85-94dc-6a707a6facdf
Documentation:https://coda.io/d/TurboStruct-Documentation_doc8ElEMPPQ/Welcome-to-TurboStruct_suriCYLx
TurboStruct is a paid plugin, currently priced at 14.99$

Fab.com

⚡ TURBOSTRUCT: True Async Save System 🚀 Eliminate Game Thread Lag Forever.📢 Documentation PDF!🎥Youtube Tutorial!Stop relying on the native USaveGame that freezes your game....

alejocapo04

Coda doc by alejocapo04

edgy needle
#

🚀 TurboStruct Update v1.2.0: The Architecture & Cloud Update

The biggest TurboStruct update to date is now available! It has been almost 3 months of continuous development focused on bringing the plugin's core to an Enterprise quality standard and expanding its capabilities beyond local storage.

✨ KEY FEATURES:
☁️ New Cloud Module: Don't limit your saves to local hardware! We've introduced a brand-new Cloud Module natively hooked to the Online Subsystem (Steam Cloud, EOS). Seamlessly Upload, Download, List, and Delete saves with built-in network resilience.

🔍 Database Lazy Inspector v2.0: Open gigantic save files instantly without freezing the editor. Includes advanced inline editing (Vectors, Rotators, Quaternions) and total shielding against Struct mutation.

⚙️ Dedicated Queue Manager: Deep rewrite of the asynchronous system. Eliminates race conditions and optimizes background task routing and cancellation.

🔐 Hardened Security: Strengthened AES-GCM encryption and strict new path validations to prevent the injection of corrupted or altered payloads.

🏗️ Improved Project Builder: "Smart Recipes" now automatically generate and inject Input Actions and mappings into your templates, making them 100% playable instantly.

(Note: Check the attached official PDF documentation for the full migration guide and how to handle updated nodes).

#

A practical demonstration of TurboStruct's capabilities. In this video, we walk through the main features of this asynchronous save system for Unreal Engine 5:

Basic Usage: How to easily save and load simple data and arrays using Blueprints.

Queue System: A look at how the plugin manages multiple save requests sequentially to ensure smooth per...

▶ Play video
edgy needle
#

🚀 TurboStruct v1.3.0 Release Notes

TurboStruct v1.3.0 is a major platform update focused on production-ready cloud transport, a complete thumbnail system, and a much more capable documentation experience inside the editor.

🔹 Release Pillar #1: Cloud REST maturity for Azure and Firebase under real runtime load.
🔹 Release Pillar #2: New TurboStructThumbnails module with callback + latent workflows.
🔹 Release Pillar #3: Docs Hub UX/search/navigation hardening plus richer technical guides.

☁️ Cloud REST Maturity (Azure + Firebase)
🔸 Unreal-Native REST Architecture: TurboStructCloud runs on Unreal’s native HTTP stack without heavy external SDKs. The shared contract for Upload, Download, Exists, List, and Delete keeps behavior consistent across providers.
🔸 Azure Transport Hardening: Strengthened with chunked upload support for large files and more reliable list pagination. XML parsing fallback handling reduces edge cases and improves operational resilience.
🔸 Firebase Provider Maturity: Expanded for runtime REST storage operations. API key scope is now clearly separated from Bearer token storage authorization, reinforcing clean production auth boundaries.
🔸 Network Safety & Token Lifecycle: Corrected callback/timeout race behavior so long operations don't risk duplicate completions. Explicit timeout handling reduces ambiguous failure states, and the model now emphasizes expiry-aware token rotation via RuntimeTokenBroker.

🖼️ TurboStructThumbnails Module (New Major Capability)
🔸 New Dedicated Module + Public API: Integrated with BuildTool, Project Settings, and test gating. Features callback and latent nodes for save/load/capture workflows, plus encode/decode utilities.
🔸 Format Strategy for Real Projects: Supports RawBGRA8, PNG, and JPEG so teams can choose fidelity, sharp UI readability, or compact size per use case.
🔸 Queue-Aware Persistence: Slot-touching operations are orchestrated through the per-slot queue model (including QueuePriority 0 first, 100 last). This aligns with core async persistence and reduces contention spikes.
🔸 Viewport Capture Modes: 4-State Control (ShowAll, HideAll, ShowOnlyListed, HideListed) to control HUD visibility with precision. Restores original widget visibility after capture to prevent UI-state drift.

🧰 Editor Integration and Inspector UX
🔸 Inspector Thumbnail Preview Upgrade: Faster validation for runtime capture and persisted thumbnails directly inside normal debugging loops.
🔸 Dedicated Viewer Experience: Richer focused-view flow for quick QA checks and visual verification in large save datasets.
🔸 Format/Preview Alignment: Aligned RawBGRA8 preview handling and introduced startup queue warm-up behavior to reduce perceived hitches on initial interactions.

#

.
📚 Documentation Hub & Release-Scale Docs Expansion
🔸 UX & Navigation Overhaul: Strengthened Docs Hub top bar, style overrides, localization selector, and manifest-driven routing for day-to-day usability.
🔸 Search/Find Reliability: Hardened Ctrl+F highlighting and long-page find navigation to prevent unstable behavior in dense technical documents.
🔸 Reading Controls: Added Ctrl+MouseWheel zoom, middle-mouse panning (browser-like), and an icon-driven top bar.
🔸 Live Update & Export Robustness: Stabilized PDF export completion logic. Export now runs on a background thread with a bottom-right notification to avoid editor stalls.
🔸 Lazy Loading for Large Trees: Progressive side navigation expansion prevents full-tree freezes on big doc sets.
🔸 10-Language Support: In-editor docs now ship localized for en, es, pt-BR, zh-CN, ja, ko, fr, de, ru, tr.
🔸 Content Expansion: New guides for cloud setup, auth boundaries, thumbnail API, and capture modes to ensure realistic production adoption.

⚠️ Developer Notes
💡 Cloud Rollout: Treat manual token injection as a validation step only. Shipping flows should keep RuntimeTokenBroker ownership in your auth layer.
💡 Thumbnail Rollout: For save slot conventions, reserve a stable thumbnail sub-slot lane and keep queue priority policy consistent across your profile systems.
🐛 Post-Release Stability Fix: Corrected a DeserializeArrayV4 load-path issue for TArray by preventing unsafe raw-copy behavior for FName inners and forcing semantic deserialization, avoiding invalid FName indices and later re-save crashes.

vocal zealot
#

👌👌👌

edgy needle
short knoll
#

cool cool ❤️

edgy needle
# short knoll cool cool ❤️

Thanks for the support! ❤️ By the way, if you ended up grabbing a copy, it'd mean a lot if you could drop a quick review on Fab once you try it out. It really helps a ton with visibility!

short knoll