Struct invalidating when adding array elements inside it

TL;DR Adding elements to an array within a struct within a struct corrupts the outer most struct and every blueprint that had used it.

When the struct is corrupted, this message is given:

Effect:

So you go and delete all references to these variables in your blueprint. All calls, all functions with output/inputs, all “make structs,” etc., and even deleting all variables and local variables.

After all that, it still tells you there are variables with invalid types, even though none are showing up in your variables section under “My Blueprint” because you have already deleted them.

For some reason, not even “Remove unused variables” works, saying there are no variables to search for.

The only way around this is to either recreating all the corrupt blueprints (copying and pasting doesn’t work, as it is a reference error to the struct) or importing everything to a new project.

Steps to Reproduce:

I have reproduced this problem in a clean project, and the steps are as follows:

  1. Create a struct with an array in it. We’ll call this Struct1.
  2. Create a struct that has a Struct1 inside it. We’ll call this Struct2.
  3. Use Struct2 in any context. Parameters, variables, make nodes, etc.
  4. Go back to Struct1, expand the array, and add in more elements.

After doing all of the above, all references to Struct2 have corrupted.

EDIT: Also, God forbid you referenced these variables in your level blueprint, as now your whole level is corrupt.