I have a collection of data that is uniquely keyed by two enums. I’d like to use a UDataTable to hold this information because the data table editor makes it easy to view all the data at once and it’s possible to use spreadsheet software by converting to/from CSV/JSON.
However, UDataTables are keyed by an FName which is automatically generated as “NewRow_[integer]”. These keys are also user editable. What I’d like to do is make the FName key a function of my two enums, which updates whenever someone editing the data table changes one of the enum columns. I’d also like to provide an error message to the user if they attempt to use an enum key pair that has already been used (thus violating the uniqueness of the key).
Unfortunately, the code for generating FName keys is in a private class named SRowEditor. It appears that in order to get the functionality I want, I’d either need to change the engine sources or create my own version of SRowEditor. In my case, not worth the effort for the benefits I’d get.
Is my understanding correct, or is there a simpler way to customize the UDataTable editor?