Download

Data Tables are read only, what can I use that's like it, but can be modified?

​​I’m using a Data Table in my game to store and read out the lines of dialogue that are said by characters and I put some variables in expecting I could modify them on run-time, but I’ve learnt that Data Tables are read only.

What I was expecting was something more like a database, where records can be accessed and read, but also modified and updated.
Is there anything in Unreal Blueprints that works this way that I can use?

Here’s an attached screenshot showing that, as a basic example, I want to change the “LineReadOut?” boolean variable in my data table when the line has been said.

https://forums.unrealengine.com/core/image/gif;base64

Thanks!

You can use data table to read data like weapons, inventory etc.
In your case you can use data table to read lines and create array bool variable to store LineReadOut where index could be row number from the data table.
Or better solution…create struct array variable (or use the same from the data table), populate data from data table and manually change LineReadOut when you need it.

This is definitely a possible solution, but it feels like a lot of re-engineering, creating systems and duplicating data.

Yeah, this is doable but, again, feels like a lot of re-engineering.

Is there really nothing like how a database would operate in this engine? That feels bizarre to me.
Great responses, though, thank you. I could use those solutions, I just wish there was something like data tables with updatable fields, tbh.

An example of how to do it for anyone interested:

https://answers.unrealengine.com/questions/1015372/data-tables-are-read-only-what-can-i-use-thats-lik.html

Runtime DataTable does this :slight_smile:

Without plugin or coding you need to do this like this. However, if you change DT during game, next time you will start the game with modified data in Data table.
And every time you start a new game (from the beginning) you need to restore original data in DT. It depends on the need, but it is not very flexible for many things.
It’s not hard to store and change data from DT in array or struct or a dictionary map and save as needed in a Save Game object.

Yeah, this is really what I was looking for. Thanks for answering and making sure we all got to see the response <3