[Request] Dynamically Assign Data Table to Get Table Row

I’m currently working on a dialogue system and I thought it would be great to try Data Tables since the parsing is built in to UE4. The problem I am encountering is that there is no way to dynamically change the Data Table that is used by the Get Data Table Row node in Blueprints. I would like to dynamically assign Data Tables so I can easily manage my dialogue. Having 1 CSV for the entire game’s script would be very difficult to maintain.

It would be nice to have a Data table variable type or some other method so I can dynamically assign Data Tables.

(no option to Promote to Variable)

Hi ,

We will take this into consideration. Thank you for your request!

it has not yet been implemented …
Will you be able to dynamically change and create data tables?

Bumping this to add my support. I’ve run into this on several occasions now, and it really is a huge roadblock. Makes working with sets of unique data much more difficult than it needs to be.


I mean this is kind of ridiculous.

Bumping this old thread for this since it’s still not fixed in 4.19…

It’s designed this way and will likely stay this way because the output is a struct. In order for it to not break things, the data table input has to remain constant, because the output struct is defined by it.

The only thing they might be able to do would be to make some kind of data table class and then create data table instances from it, similar to making a material instance, where it would inherit all of the same columns and variable types. That way, the get data table row node would be able to be set to the specific data table class and any children of it would be able to hook into it and the node wouldn’t have to worry about the output struct breaking. Hint hint Epic…

2 Likes

Well, the Compiler doesn’t know the type of the DataTable.
So you have to check for the DataTable manually if you want to store it in a variable

There are functions in C++ API capable to work with data tables but they are editor-only. I recommend JSON for file storage and TMap for in-memory storage (not implementable without c++).

I was easily did it in blueprints by doing the following by making a function for each data table structure type.