I’ve noticed for a while that changing the type of a component declared in C++ will effectively ‘break’ any blueprints that inherit from it. E.g:

Specifically, the details panel for that component will always show up blank, which makes it nearly impossible to work with.
I’ve tried a lot of solutions to get around this problem, from renaming variables to reloading the blueprint, but none have consistently worked. The only real solution I’ve found is to remake the blueprint from scratch and painstakingly reassign all of the detail panels for every component. For more complex blueprints, this is really not ideal and has forced me to heavily rely on data assets to ensure that no data gets lost.
There are many times when changing the type of a component is unavoidable, so I was wondering if anyone had found a better solution to this issue?