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:
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:
After doing all of the above, all references to
EDIT: Also, God forbid you referenced these variables in your level blueprint, as now your whole level is corrupt.
Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here
You can track the report's status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.
I finally found a workaround to this problem.
1) Open project in UE4.
Fundamentally, it seems like changing a child struct destroys the parent struct for long enough that any assets using the parent struct have a bunch of references removed. So, if you make those assets read-only, the UE4 editor can't stomp all over them.
What a frustrating bug. Hours upon hours wasted...
Follow this question
Once you sign in you will be able to subscribe for any updates here