I went about it like this:
- I created a Structure of my own for the data tables
- I created a number of data tables based on this structure
- In my BP, I set-up lists of Data-tables which I want to then select dynamically and read the corresponding values
- I set-up a function in my BP and assign the list of Data tables as input
- In the function, I create a local variable with data type of my own structure
- when I implement the “Read Data Table Row” node, I assign one possible data table to the data table type field of the node and connect the output node to a set-node for the local variable of my own structure. The structure of the output node and the structure of the variable match.
- I compile
- I replace the manually chosen value for the data table with the dynamic value from the BP by connecting the corresponding line
- I compile again
- Now, I can continue connecting my local variable to wherever I need it and compile again and so on.
It is a bit of a work around, but it works around the problem. There is no function that would allow to check the data struture of a given data table (there is no “cast-to” for data tables). But like this, the output structure question can be tricked.
I use this set-up to randomly set textures and morph targets for my NPC’s such that I get a bit of a variability.