Engine Tools

Runtime DataTable

Load and export CSV files and Google Sheets directly at runtime into FStruct and UObject arrays inside Unreal Engine with Runtime DataTable.

Runtime DataTableEngine Tools

Resource overview

Moving Beyond Static Design-Time Tables in Unreal Engine

Unreal Engine includes a built-in Data Table system out of the box, yet that native system operates strictly at design time within the editor. Whenever a project demands dynamic data updates during active play sessions, the native workflow falls short. Runtime DataTable, frequently abbreviated as RDT, addresses this specific constraint by executing spreadsheet operations entirely while the application is active.

By bringing tabular data ingestion into active play, developers can feed external configurations into a running title without requiring editor restarts or asset re-import cycles. The plugin operates while the game is running, granting direct control over dynamic game balancing, externally loaded dialog tables, or user-driven spreadsheet variables. Because the native engine workflow treats data tables as static assets baked ahead of time, moving this parsing capability into the runtime pipeline fundamentally changes how projects handle dynamic text-based data.

Populating FStruct and UObject Arrays from CSV Text

At the center of the plugin is a conversion pipeline that accepts Comma-Separated Values documents and matches their textual data against engine properties.

A typical CSV document stores variable identifiers and raw text entries. Runtime DataTable reads these textual definitions and maps them directly to the target variables of an FStruct or a UObject. Rather than leaving the information as raw strings that require manual parsing inside script graphs, RDT converts the text into the appropriate native property types. Once converted, the plugin automatically fills an array of that designated FStruct or UObject type with the processed entries, streamlining how structured records move from plain text into native engine variables.

Fetching Data from Disk and Cloud-Based Google Sheets

Data sources are not confined to pre-packaged project directories or local storage volumes.

The system can load a standard CSV file directly from disk, but it also features native network capabilities for fetching remote tables. It can download a public Google Sheet or connect to a private Google Sheet using proper authorization. This capability allows teams to maintain their game tuning or configuration tables in a live cloud environment, pulling updated parameters into active game instances whenever needed. The entire toolset of easyCSV is included in full within the plugin, positioning it alongside related tools such as GSheets Operator and the Spreadsheet Master Bundle.

Exporting Live In-Memory Data via Google Sheets and CSV Export

Data pipelines often require two-way communication rather than one-way ingestion.

Starting in version 4.27.4, the plugin introduced full support for CSV export, enabling the reverse of its standard ingestion flow. Instead of solely reading spreadsheets to populate variables, RDT can inspect an array of existing FStructs or UObjects inside an active project. It reads the live member values directly from memory while the game or application is actively running and serializes that information out as a properly formatted CSV. These generated files can be written directly to local storage disks or sent upstream to Google Sheets, providing a reliable mechanism to save live session telemetry, capture in-game analytics, or output dynamic state data generated during runtime execution.

Blueprint and Code Execution Flows with Completion Callbacks

Because network requests and large disk operations take variable amounts of time, RDT is built with an event-driven execution structure.

When the plugin initiates a download from a Google Sheet or loads a CSV from disk, it attempts to parse the content and update the target array of FStruct or UObject items. Once that update attempt finishes, the plugin executes a user-defined function to explicitly signal completion. This callback pattern ensures that downstream gameplay code or Blueprint graphs do not attempt to read unpopulated arrays prematurely. Supporting both Blueprint and native code workflows, the system reliably integrates into custom game loops where other game systems depend on confirmed data delivery before proceeding.

More From The Same Workflow

Free Download

Download this resource

Log in or create a free account to start your download.

Resources are manually reviewed before listing to improve quality and reduce obvious risks.

Resource archiveRuntime DataTable.7z

Related resources