Choose your operating system:
Windows
macOS
Linux
Because Data Registries are part of a plugin, there is some setup required. The
A
Data Registry
is an efficient global storage space for
USTRUCT
-tagged data structures.
Data Registries support both synchronous and asynchronous data access, as well as user-defined caching behaviors. They are intended to work with general read-only data.
For specific session-based data such as progress in a story, or a character's current state, use the engine's Save Game system.
You can configure your Data Registry to load or generate data from a variety of different sources, and can populate it with Asset scanning and manual registration.
Data Registries are similar to Composite Data Tables , but can store curve data in addition to standard table rows, and use an indirection layer rather than manually compositing multiple tables together.
Data Sources
Data Registry Sources
Meta Data Registry Sources
Identifiers
The Data Registry plugin uses its own identifier types to identify or look up Data Registries and the individual data items they contain.
While these identifiers are string-based
names
at their core, the
FDataRegistryType
(for Data Registry Assets) and
FDataRegistryId
(for individual items within a Data Registry) structures act as wrappers and provide useful in-editor functionality.
FDataRegistryType
identifies a Data Registry Asset, while
FDataRegistryId
identifies a Data Registry and a specific data item within it. Use these identifier types when you need to find Data Registry Assets or retrieve individual data items from them.
Each Data Registry Asset must have a unique name in the Registry Type field; if two Data Registry Assets have the same name in this field, the system will only recognize and populate one of them.
Similarly, if multiple data items share the same identifying value (name or Gameplay Tag), the registry will read all items, but retrieval operations will only access the first one that the Data Registry Asset loaded; see the section on data sources for information about the order in which data items load.
Developers using C++ can change this behavior by creating a child Data Registry class and overriding the
ResolveDataRegistryId
function.
Data Registry Asset Identifiers
Data Item Identifiers
If you edit a Data Registry Asset, your changes may not take effect immediately in other Assets that reference it using data item identifiers.
If this happens, the data item identifiers could contain obsolete rows in its dropdown lists.
Click the Compile button in the Asset that references the Data Registry (not the Data Registry Asset itself) to update the interface with current data item information.
Because
FDataRegistryId
has an
FDataRegistryType
member (called
RegistryType
), you can find the Data Registry Asset that contains the row without needing a separate
FDataRegistryType
identifier.
Quick Function Reference
The following functions are helpful for getting started with Data Registries.
This is not a complete reference, but these functions are the basics you will need to access your data after having set up Data Registries in your project.
Integration with Game Features
The Data Registry plugin can add both Data Registries and individual Data Registry Sources from Game Feature plugins. For details on how this process works, see the
InteractiveExperiences/DataDriven/DataRegistries\DataRegistries-CPP\DataRegistries-CPP.INT.UDN
availability: docs title: Data Registries CPP description: Data Registries CPP Excerpts parent: BuildABiggerWorld/DataRegistries type: reference
InteractiveExperiences/DataDriven/DataRegistries\DataRegistries-BP\DataRegistries-BP.INT.udn
availability: docs title: Data Registries BP description: DataRegistries BP Excerpts parent: BuildABiggerWorld/DataRegistries type: reference