Branching, complex structs (structs within structs) can create some problems, but I think we kind of found a way to replace them when they get damaged without much trouble (Blueprints). Most of you probably figured it out as well by now, but in case you haven’t…
Symptom: the project no longer finds the structs as variables, and where they are already present, they no longer “break”.
Cause: Changes in related structs, renaming, or unknown;
Before doing this, make an archive of the project.
A
0. duplicate the damaged struct (not necessary to make a new one, the duplicate will be fine);
- try replacing references automatically while deleting the damaged struct;
- if it works, fix up redirectors, rename the duplicate, etc;
B
0. if not:
- force delete the damaged structs (you may need to close/open the project); this may throw some errors, ignore them
- rename so that the duplicate ends up with the original name; with a little luck, the previous, apparently failed “replace reference” will do the trick, the system will recognize the duplicate/identical name struct as the original.
- replace the struct variable type in your data source at the most root level - first time it is used as “struct within struct”, and not just a collection of variables and enums;
C
0. if the project is still damaged,
- replace by hand everywhere (worse case scenario)
- select again the default values