Removing c++ UENUM causes project to stop building (crashes in RigVMRegistry of all places?)

So I’ve been using UENUMs declared in a c++ function library in my game without issues for a year or so now, but whenever I try to remove one that is being referenced in blueprints, it causes fatal build errors preventing me from opening the project and fixing the blueprints. This forces me to undo the deletion, go into the project and manually find all references to the enum, and THEN remove it in c++. Which considering the functionality surrounding removing references to literally anything else, seems like a massive oversight.

Of all places, the crash happens in RigVMRegistry.cpp? I’m not even using control rig for anything in my project.

I’ve tried deleting Binaries and Intermediate and regenerating Visual Studio Project Files, but the only solution I’ve found is to manually remove all instances of the enum in the project before removal. And if I don’t remember the exact UENUM name and content, it’s borked and I need to restore a backup.

Has anyone else experienced this?

Edit (Update): Not even removing all references to the UENUM fixes this now. I currently have an unused , empty UENUM that I can’t remove from my header file otherwise the engine won’t build and gives me the same RigVMRegistry error with no information beyond that the Enum is invalid.