Skip to main content

data kit

8 tools. Generated from the plugin source; do not edit by hand.

Guide​

The data kit inspects Unreal Data Registries without changing project configuration, registry assets, or cache contents. Its prefix is data. and every tool requires the optional DataRegistry engine plugin. Use asset.* for DataTable, CurveTable, StringTable, and DataAsset authoring; use bp.* to wire a DataTable row node into a Blueprint.

Start here​

  1. Call data.registry_status {}. If initialized is false, wait for normal project startup or inspect the project's Data Registry settings; the kit never initializes or reconfigures registries itself.
  2. Call data.list_registries {} to discover active registry type values, row itemStruct, and source diagnostics.
  3. Choose the returned type (for example, Weapons) or use a loaded DataRegistry asset path in the following calls.
  4. Call data.get_registry {"registry":"Weapons"} to inspect its public schema and sources.
  5. Call data.list_registry_items {"registry":"Weapons","limit":100}. Add contains to narrow a large registry.
  6. To inspect a value already in the engine cache, call data.get_cached_registry_item {"registry":"Weapons","item":"Sword"}.
  7. To sample a curve registry entry already in cache, call data.evaluate_registry_curve {"registry":"Difficulty","item":"DamageScale","input":0.5,"defaultValue":1}.
  8. To issue a bounded engine acquire, call data.acquire_registry_item {"registry":"Weapons","item":"Sword","timeoutSeconds":5}. It reports timeout, does_not_exist, or the callback status instead of treating a cache miss as success.

Tools​

ToolUse
data.registry_statusInitialization state and active registry count.
data.list_registriesAll active registries with source availability and schema summaries.
data.get_registryOne registry's type, item struct, id count, initialization state, and sources.
data.list_registry_itemsResolvable item names with a case-insensitive filter and limit.
data.get_cached_registry_itemA cached struct as Unreal text; never queues an async load.
data.evaluate_registry_curveA cached curve value, falling back to defaultValue when absent.
data.acquire_registry_itemOff-thread acquire lifecycle: scheduled/completed state, callback status, and the acquired struct when available.

Structured asset workflow​

  1. Create or find the backing DataTable with asset.create_data_table / asset.find.
  2. Inspect its authored columns with asset.data_table_info.
  3. Edit rows through asset.data_table_add_row, asset.data_table_set_cell, or bulk CSV/JSON operations in asset.data_table_import_csv and asset.data_table_import_json.
  4. Edit CurveFloat, CurveVector, or CurveLinearColor keys with asset.curve_add_key and asset.curve_set_keys; inspect/evaluate them with asset.curve_get_keys and asset.curve_evaluate.
  5. Inspect or update DataAsset properties with asset.data_asset_get and asset.data_asset_set.
  6. Configure the project registry by your established editor/project workflow, then use data.* to verify the registry's visible state.

Gotchas​

  • Data Registry item acquisition is asynchronous. A cached:false response means no item is presently cached; it does not mean the id is invalid. Use data.acquire_registry_item when a bounded callback wait is appropriate, or run the game's normal loading path and query again.
  • list_registry_items lists ids that the registry can resolve. It does not load those entries.
  • evaluate_registry_curve returns defaultValue with found:false when the curve is unavailable. Check found before treating the returned value as data.
  • value from data.get_cached_registry_item is Unreal property text for inspection. It is not a generic editing interface; use the owning DataTable or DataAsset tools for mutations.
  • In a blank project there may be no configured registries. The discovery tools safely return an empty list. data.create_registry creates a DataRegistry asset with a DataTable source (it can create and seed <Name>_Table with rowNames) and initializes it, so the per-registry tools work on it right away; it is not added to the project scan list (DataRegistrySettings), so data.list_registries does not show it.
  • Per-registry tools accept a registry asset path or a registered registry type. Cached reads, curve evaluation, and acquire_registry_item query the resolved registry directly.

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

data.acquire_registry_item (risk 0, requires plugin DataRegistry)​

Starts one acquire on the resolved registry and waits off-thread for its callback or the caller timeout.

ArgumentTypeDescription
timeoutSecondsnumberMaximum wall-clock wait for the async registry callback, from 0.1 through 30 seconds. Default 5.0.

Returns: itemId, scheduled, completed, acquired, status, itemStruct, value.

data.create_registry (risk 2, mutates, requires plugin DataRegistry, smoke)​

Creates a DataRegistry asset backed by a DataTable source (optionally creating the table and seeding rows). The asset is not added to the project-wide scan list.

ArgumentTypeDescription
folderstringrequired. Destination Content Browser folder under /Game.
namestringrequired. DataRegistry asset name without spaces, slashes, or dots.
registryTypestringrequired. Registry type name used in FDataRegistryId (Type:Item); must be unique among the project's registries.
itemStructstringrequired. Item struct path; must derive from FTableRowBase, e.g. /Script/GameplayTags.GameplayTagTableRow.
sourceTablestringExisting DataTable with the same row struct used as the DataTable source; empty creates _Table next to the registry.
rowNamesarray of stringRow names seeded with default values when the DataTable is created by this call.
initializebooleanInitialize the registry and its sources right away so items can be listed and acquired without registering it project-wide. Default true.

Returns: registry.

data.evaluate_registry_curve (risk 0, requires plugin DataRegistry, smoke)​

Evaluates a curve registry item only from the registry cache; non-curve or unavailable items return defaultValue with found=false.

ArgumentTypeDescription
registrystringrequired. Registered registry type name, or a DataRegistry asset path starting with /.
itemstringrequired. Curve item name within the registry.
inputnumberrequired. Curve input value.
defaultValuenumberValue returned when the item is not currently cached. Default 0.0f.

Returns: itemId, found, value.

data.get_cached_registry_item (risk 0, requires plugin DataRegistry, smoke)​

Exports an item only when it is already cached; it never starts an asynchronous Data Registry request.

ArgumentTypeDescription
registrystringrequired. Registered registry type name, or a DataRegistry asset path starting with /.
itemstringrequired. Item name within the registry.

Returns: itemId, cached, itemStruct, value.

data.get_registry (risk 0, requires plugin DataRegistry, smoke)​

Returns the schema, initialization state, availability and sources for one Data Registry.

ArgumentTypeDescription
registrystringrequired. Registered registry type name, or a DataRegistry asset path starting with /.

Returns: registry.

data.list_registries (risk 0, requires plugin DataRegistry, smoke)​

Lists all active Data Registries and their public source summaries.

No arguments.

Returns: registries, count.

data.list_registry_items (risk 0, requires plugin DataRegistry, smoke)​

Lists the item ids currently resolved by one Data Registry.

ArgumentTypeDescription
registrystringrequired. Registered registry type name, or a DataRegistry asset path starting with /.
containsstringOnly item names containing this text are returned.
limitintegerMaximum returned items; zero uses 100. Default 100.

Returns: registryType, items, total.

data.registry_status (risk 0, requires plugin DataRegistry, smoke)​

Reports whether the optional Data Registry subsystem is initialized and how many registries it exposes.

No arguments.

Returns: initialized, registryCount.