PSI String Table Utilities is an Unreal Engine 5 plugin that provides a Blueprint API to modify String Tables and to easily write and retrieve their metadata.
🧾Documentation |🗨️Discord |🔧Website & Support |🧮Synergy with PSI Property Spreadsheet
This plugin is completely free. But if you find it useful and want to support us, please check out our other plugins on Fab.
String Tables can store additional metadata for each of their entries. In vanilla Unreal, however, Blueprints can only read this metadata as plain strings. If you want to use it for anything other than display purposes, you have to write a conversion for every single metadata value you define.
This plugin removes this step. It reads and writes the metadata of an entry as a struct, where each struct property corresponds to a metadata value. In addition, String Tables and their entries can be referenced as proper values in Blueprints, rather than as raw table names and key strings.
🎯 String Table Types
- String Tables and individual entries can be referenced directly using PSI String Table ID and PSI String Table Entry Handle, similar to Data Table Row Handles
🧵 Metadata Structs
- Use structs to write metadata of String Table entries, and read the metadata back into a struct
- Struct properties are matched with metadata values by name and converted to the property's type
📘 Blueprint Nodes & C++ API
- Nodes for reading String Tables, their entries, and metadata (Editor and packaged games)
- Nodes for modifying String Tables and their metadata (Editor only)
- Nodes for importing and exporting String Tables as CSV
- The metadata-as-struct functions are also available in C++
🧮 Synergy with PSI Property Spreadsheet
- With the PSI Property Spreadsheet you can inspect, modify, and add metadata to String Table rows directly in the Unreal Editor
- You can set the same struct to edit the metadata in the Spreadsheet as you use to read it out using the String Table Utilities
- Unreal Engine 5.3 to 5.8.
- No other plugins are required.
| Module | Type | Platforms |
|---|---|---|
PSIStringTableUtils |
Runtime | Win64, Mac, Linux, LinuxArm64, Android, iOS, tvOS |
PSIStringTableUtilsEditor |
Editor | Win64, Mac, Linux |
From Fab. Add the plugin to your library on Fab and install it to your engine through the Epic Games Launcher. It is then available in every project of that engine version.
From source. Clone or download this repository into the Plugins folder of your project, e.g. MyProject/Plugins/PSIStringTableUtils. The plugin is compiled together with your project, so you need a C++ toolchain for Unreal Engine.
If the plugin is not enabled by default, go to Edit > Plugins, search for PSI String Table Utilities and enable it.
In Blueprints, the nodes are listed under the PSI > String Table category. The most important ones are Get String Table Entry Meta-Data as Struct and Set String Table Entry Meta-Data from Struct.
In C++, add PSIStringTableUtils to the dependencies of your module and include PSIStringTableUtilsHelper.h:
FMyDialogueMetaData MetaData;
FPSIStringTableUtilsHelper::GetStringTableEntryMetaDataAsStruct(StringTable, TextKey, MetaData);See the documentation for all nodes and types.
The plugin contains automation tests. Run them in the Session Frontend or from the command line with Automation RunTests PSI.StringTableUtils.
If you have questions, found a bug, or just want to get in touch, join our Discord server or use the contact form.
This plugin is free and licensed under the MIT License. The copy on Fab is the same plugin and is distributed under the Fab Standard License. It can be used under either license.