Engine Crashes When Adding New Blueprint Class

I’m on Mac OSX, this is a new issue for me. Project is migrated from previous version.
Pretty much as title describes, when I try to ‘Add New’ and choose ‘Blueprint Class’ the engine hangs indefinitely. This happens every time I restart the engine.

Until a proper answer can be given, here is what I always do with “unreasonable” errors.

  1. Make a backup copy of current project, just in case.
  2. Click root folder and “fix redirects”
  3. Open content browser, and open actual project folder (content folder), and do a side by side comparison
  4. If I find any stray file/folder in the project folder that is not showing in UE4 content browser, i delete it. (The few times I accidentally tried to delete the wrong copy, I get stopped with a “in use” error, so no worries there as long as your content browser is actively viewing the same folder/files)

Many times after migrating or multiple crashes, or even lots of adding/deleting, I’ve found old copies laying around.
Even though UE4 wont show you those files in the content browser it STILL checks them upon editor start up. Which can pop up errors for files that “don’t exsist” after migrating. (or other odd bugs?)

And issue I had after migrating (by copy and paste) is that some of these “hidden” files had errors due to variables being missing, even though the actual file was not in use in my project.

One last thing to do : Open every blueprint, compile and save. (Sometimes, it appears UE4 will use the last “compiled” version for runtime in editor, but once you open that blueprint, an error will appear due to a struct that I changed hours ago, and 20x runs ago! My theory is that the upgrade changed/updated some struct or variables or functions, but did not actually recompile the blueprint itself, and the editor just uses the last compiled code to run, and until you open that blueprint, it will not be aware of the error, and can sometimes have hidden side effects.

My two worthless cents, but experience has taught me to try those steps to fix most “unreasonable” errors after doing major re-organization, or migrating or copying in files from another project ect. (Which UE4 does when migrating depending on what you migrated to/from)

hey I appreciate your comment. I did try to fix redirects prior to posting, and that didn’t seem to fix or illuminate the issue. It’s a very strange bug, and I am able to just duplicate existing actors in place of creating new ones as a workaround. It doesn’t make the issue any less annoying though.

Thanks again for your help. Hopefully I can get this figured out.

Fixing the redirects in my troubleshooting steps are to prevent you from deleting those redirects while doing the actual file comparisons. Redirects will show in the game folder, but not in the content browser. The redirect fix up actually opens each redirect and rewrites the references in the related files and then deletes those redirects from the game folder. After this, you should have a 1:1 comparison between game folder and content browser, any extras should be deleted.

When you select ‘Add New’ and choose ‘Blueprint Class’, the engine gets a list of all available classes.
The sources for theses classes are : Engine default classes, user custom classes, ACTUAL *.uasset files in your content directory EVEN IF THEY ARE NOT USED BY YOUR PROJECT DIRECTLY.

So if you have a corrupted .uasset in your game folder, that is not used in your game, it will still cause errors.

I have 631 files in my project content folder. It’s unfortunately unrealistic for me (or anyone) to go through each and every one of these manually. If this is really the only solution, then that is a major issue with the engine.

Unless you’ve never experienced a crash, have auto save turned off, and never mirgrate you cannot assume the status of your blueprints. They’ve worked hard to make migrating as easy as possible, sometimes files don’t get deleted, sometimes thing change in a migrate that don’t recompile themselves. Unless you can identify the bad blueprint, this is all guess work. You can’t even file a bug report without reproducible steps.

Hey, if you want to ignore the fact that a major part of your engine is not working because you can’t reproduce it on one computer, then to you I say good luck. I can reproduce the error every time I open the project on my computer, but hey I’m just a consumer trying to help you make your product better. As previously mentioned I’ve found a workaround and wouldn’t hold my breath for a fix anytime soon regardless of the fact that this is a pretty major bug. So, I guess just don’t say I didn’t tell you so.