Last night upgraded my project from 4.20 to 4.21. After doing so the editor crashed on launch which was due to a bad struct. The struct in question was a relatively simple struct containing 6 floats used to store rotation limit data.
After manually renaming the struct to .old in explorer I was able to get the editor to launch. However, my base actor blueprint refuses to compile due to the following error:
The variable TurretRotationLimitMaps declared in DefaultSpaceVehicle_BP has an invalid type Map of Actor Component Object References to Structures
The TurretRotationLimitMaps was a disused experiment that mapped RotationLimit struct to a particular Actor Component. It is not in use anywhere in the graph, nor is it visible in the variables panel (I’m guessing because it is currently invalid?). If I use the find function in the graph I can see that it exists somewhere but right or double clicking the found item doesn’t give any options for navigating to or removing it.
I’ve tried the usual ‘Asset Actions → Reload → Remove Invalid Members’ process and it finishes with the following errors but does not actually remove the invalid member.
I tried making a new RotationLimit struct (with no members) in hopes that it would make the Actor|Struct map valid long enough to fix it but the engine crashes as above as soon as the rename is complete.
At this point it seems like there are 2 possible solutions*: Manually remove this invalid map or fix whatever is wrong with this struct. Does anyone have any insight into how I might do either?
*There is the third option of rolling back to 4.20, removing the struct and map then upgrading versions again. I’ll probably go this route if nobody has insight on a fix.