After hotfix update editor crashes during load, can't open game (fixed, sharing cautionary tale)

Just sharing a cautionary tale and the fix because it’s a dumbass mistake and will probably happen to someone else and Google was drawing blanks:

Symptoms: When I updated to the latest hotfix, suddenly I couldn’t open my game - the game *and the editor *would crash during load - so I couldn’t open the game to find out why it was crashing or get into the editor to change or fix whatever was causing the crash. Logs were inconclusive, but implied a blueprint was missing something it was expecting. Once you have the latest hotfix you can’t unwind it (unless you want to compile tools yourself), and other projects would load fine, so this was quite a scary issue. (And as it turns out, rolling back to previous version wouldn’t help anyway)

The problem was that I’d been working on a widget, and for whatever reason widget blueprints can’t access the project’s macro libraries like blueprint actors can, but it can access the editor’s (engine) macro library… consequentially I accidentally added a blueprint macro to the editor’s (engine) macro library, instead of adding it to the project’s macro library. The hotfix had refreshed the engine library, wiping the macro, so now any blueprint that called that macro was finding nothing and the editor was crashing when trying to make sense of that blueprint.

Fortunately for me, I could remember the exact name and pins of the macro, so I loaded a different project just to get the editor open without a crash, then re-created an identical macro in the engine macro library, so that the game would find the macro and pins it was expecting, then I was able to open the game and remove every blueprint reference to the rogue engine-library library. (Then I deleted the engine-library macro to avoid accidentally using it in the future)

If you hit this problem but can’t remember enough to recreate the missing macro with the same name (not sure if it also needs the same pins, editor might be able to handle broken pins), the crash logs might help jog your memory. If not, then if you can remember which blueprints call the missing macro, renaming their file extension can at least allow you to get the project open (the editor can handle broken links to missing blueprints, unlike the missing macro), though those renamed blueprints will not be accessible to reveal the macro name, but perhaps getting the game open will lead to more clues to help you recreate the macro, at which point you could exit, restore the blueprint filenames, and successfully get everything back.

IIRC Node names are in plain text if you open the blueprint file in a text editor, so that may be the best way to retrieve the name of the rogue macro.

For future reference, is there a way to make a project’s macro library accessible to widget blueprints?

Useful info :slight_smile: