Get Data Table Row dynamically selected table does not allow specific row values.

Can anyone tell me if there is a way to get the specific output row values from Get Data Table Row if you are selecting the table dynamically?

You can see if the screenshots that if I manually set the data table that it give me the specific output values to link, however, if I select it dynamically (by variable or using make/break data table row handle) it doesn’t seem to know what output row values to allow.

I would like to be able to create a function out of my Get Data Table Row and subsequent steps but it doesn’t appear that this is possible.

No, and I believe that even the devs have stated that there are no plans on implementing it. Because the table forms a struct or sorts, the output of that struct must be etched in stone and isn’t capable of being dynamically changed. At least not with blueprints.

This does work if you have break the wildcard into your struct struct or wire it to an output of a function which is your struct. You can’t leave the out row from get data table row as a wild card.
This is definitely voodoo as if you “cast” to the wrong struct the row will not be found.

2 Likes

This really sucks :frowning: Would be awesome if variable can let you change datatable.
Aww well only solution i have is using Enum Switch. might end up with 100 creatures but at least it will work
Jesse

Awww well Its messy
Hope Epic fixes this soon :frowning:

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.

1 Like

I’ve encountered this issue and I’ve used the suggestions above as starting steps to get to the solution. here is how I’ve made this works. Hope it will help other people in the future.

5 Likes

I think wink331 is sharing the same tip.

In the past:
I created a function with the node ‘Get Data Table Row’
Select the data table type that you would like to use
Plug into the return node
Now, plug in the data table reference to the ‘Get Data Table Row’

TLDR:

Hi all, I post the correct way for the next user as me that want to have a dynamically selected row.
You have to break the Out Row with your structure call that used to construct your data table

1 Like

Hello, apologies to the others but the other topic is closed so just a quick question for Max. In the topic Local 1/2/3/4P i have exactly the same problem and it’s still not working with two gamepads connected, did it only start to work for you when you connected the third gamepad?