Currently, I am only familiar with blueprint structs and data tables.
Since a blueprint data table must be generated from a struct, that means that all rows in the data table share the same data.
It would be nice to have a spreadsheet full of unique data - for instance imagine you have all of the parameters for your character movement along with other data like perks, status effects, spawn rates, etc all in one spread sheet.
In other words, is there any way to read data from a spreadsheet that is full of random data?
The intent is so that during play testing, I don’t have to have tons of different blueprints open, but instead I have one central spreadsheet that can hold commonly updated parameters
*additional:
assuming that using a data table this way isn’t feasible, I suppose we might push many of our parameters to game instance, just so they could exist in a single place.
This way if you wanted to adjust some variable but you don’t remember exactly where it is, it would be easy to do so.
And if a new designer joins the team, they can immediately see all of the parameters in one place so they know what they have to work with.
Does this sound sensible? Have you or your team done something similar?
This sounds like a really good way for things to get confusing and unwieldly but if you can manage all of this data then you can accomplish this with the Runtime DataTable plugin. DataTables built into the engine require a struct, but RDT can work with structs or any random UObject. You just have to make sure the spreadsheet’s column names and the object’s variable names are an exact match.
I’d personally recommend a separate spreadsheet for each type of object so you can easily know which variables belong to which classes, but it’s up to you. You won’t need to create a struct either way.
3 Likes
thanks!
I was considering this only for those parameters which cannot fit into a struct-derived data table. So like, most stuff goes into data tables - things like inventory items, weapons/ammo types, enemy type common data - but there is also a bunch of little one-off parameters here and there which don’t have commonality with other things.
Like for instance, if I want to adjust my characters movement speed, and then I want to adjust the rate at which they lose body temperature, and the rate at which they get thirsty… these are all floats, but they cannot exist together in a struct, right? I mean, I guess they could, and the data table entry might just be one row. Maybe that could be fine.
Ordinarily, I’d have to have all the classes or components which hold those values open separately. It’s not a big deal, but like maybe some months go by and I don’t remember where everything is. I figured just having those things all in one place would be beneficial. If nothing else, it could work simply as an API because it’s like a list of “here’s all the parameters you have available to tweak”
Sure, whatever makes sense for you and your team!
3 Likes