Structure Variables get corrupted

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);

  1. try replacing references automatically while deleting the damaged struct;
  2. if it works, fix up redirectors, rename the duplicate, etc;

B
0. if not:

  1. force delete the damaged structs (you may need to close/open the project); this may throw some errors, ignore them
  2. 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.
  3. 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,

  1. replace by hand everywhere (worse case scenario)
  2. select again the default values