Data Tables/Data Assets/Structs, Which One Do I use?

In my game there will be factions with different properties
FactionStruct
This is the struct that I have for it with the properties that I want.
What I want to be able to do is have the game create new factions as different events happen (runtime), and also there will be a faction editor that players can create and save. But since it is runtime that I need it to happen, I am kind of confused on how to approach it.

  1. I can’t use Data Tables for this because Data Tables cannot be changed during runtime correct?
  2. Data Assets is it possible to create new data assets during runtime?
  3. I can change the struct file variables within a blueprint but I would just end up creating a bunch of children blueprints with variations of one.

How would I create and store these at runtime?

Put the content of DT in a Map, now you can edit what you want. Or, when a faction is created, add it to an array. You will need to save the game at some point anyway, surely - so this will come handy sooner rather than later.

1 Like

one of the biggest consideration is more how will the data be worked with during development.
as there are also other methods of storing structs for a more in depth discussion of these and other methods you can reference this

2 Likes

A data table is nothing more than an array type structure and that one of its fields is an ID (Row Name) and the structures can be saved
You can use the table as default values and then make changes to the structure.