Dev Strat: make a Global Tweakables data asset

On Weird West, I made a "global tweakables" data asset for vars that need tweaking by folks who might not know the systems, especially when the same concept is spread across many classes. It sucks when a designer has to assign a task for eg "lockpicking takes too long" because the value for that is in c++ or a BP node somewhere.

It's also nice to not have to check out code when you're only changing data. The ui styling part is particularly handy since very many widgets might want to be, like, "side quest coloured" so you gotta keep that colour somewhere. Or you oughta

You might think "but Joe why would I use a data asset when I could use UDeveloperSettings" and the answer is this is less of a hassle, more accessible to designers (put it on a toolbar button), easier to add vars to, and you can edit vars live during PIE which is great for when you implement a system for a designer with a bunch of tweakable knobs.

1 Like

a handy combo here with UDeveloperSettings is having a dev setting that points to the current active tweakables -- then you can do things like dupe it, modify stuff to try something wildly different, and just point to the new one to try it out and easily pop back without file history shenanigans. also is easy to grab it from anywhere too at that point without needing a GameInstance/State/Whatever reference (also ez CPP accessible)

2 Likes

nice substrat

(For accessing my data asset from wherever I just make a function library that returns it)