I made a type change in a variable (Color → LinearColor) that I was already using in some nodes in a blueprint. When saving and compiling, the editor crashed.
Now, when trying to open the editor, it is always showing the error below and closing:
Solution: Remove the file of the BP (should be .uasset files) you were working on, and any foliage actors that use that BP if you were working on that. Thanks to jse140591
my story:
I went to the project’s folder in file explorer, and in the content folder i removed the .uasset file belonging to the BP i was working on when the engine first crashed. This didn’t work for me, because i was also using this BP in a foliage actor, so when i removed that foliage actor the project started again. phew lads. Thanks for suggesting that. made me try again, and probably saved me a lot of time.
Removing (backup first if you try) the intermediate, saved, build, and binaries folder, and letting the engine rebuild the project did NOT work.
Downloading the debug symbols for a more elaborate crash error didn’t provide any useful information to me
This isn’t really a solution to the general issue.
The solution boils down to “Remove all references to Variable before changing it’s type”
If you change a variable that is in-use outside the blueprint the editor will crash 100% of the time, even more so if you have any of those blueprints up in another tab. So this means if you do change variables you either have to:
Work your way back and remove every instance, change the variable, and re-write all instances back up
Make a whole new variable, switch over all uses, delete old variable.
The bug is the UE4 keeps it all in memory and if you change something it has trouble retroactively updating other files.
I think people being able to open their project and continue working is priority #1 when they google and find this page. Fixing the bug in ue4 is probably not their focus.