So after upgrading to 4.14, I noticed a major problem with my game. I’m making an RPG and the game’s dialogue system uses arrays of a custom structure variable to store text and other information (things like the character chathead, their mood, how fast the text scrolls, how large it is, etc.). These structures come in arrays - one per line of dialogue in a particular conversation. These variables are stored in their own function library as local variables and when text needs to be retrieved, it calls it from there. Only problem: Every time the editor is restarted, all of the information is reset to their defaults so I’ve effectively lost the entirety of the game’s dialogue. Thankfully, the other writers on this project were planning to redo much of it anyway so it’s not that big of a loss (and I still have the version of the project from 4.13), but after further testing, I’ve discovered this bug isn’t unique to my project.
I decided to see if something like this would happen on a clean project made with 4.14. I did nothing more than create a structure variable containing multiple booleans, then made a local variable that contained an array of said structure variable with their own values. And when I restarted the project, everything reset to their default. This doesn’t only happen in function libraries but also other types of blueprints. This does not seem to occur in previous versions of Unreal Engine leading me to believe it’s a new bug that was introduced with the update.
I have found that this doesn’t seem to occur when I store these types as non-local variables, only when they are local variables inside functions.
While I found a workaround of just making the arrays on the fly in the function as opposed to storing them in local variables, in the end the blueprint would look horribly unorganized especially when I’m going to be dealing with 40k+ words for this project. In the meantime though, is there a better way to store these variables?