Please make UE4 more “refactorable”, Epic.
I don’t know exactly what must be done. I only know that refactoring on UE4 is painful and it always leaves weird stuff behind.
For example: I have a blueprint called BP_PlasmaWeapon, and a parent blueprint called BP_Weapon.
BP_Weapon is too much complex and I think I must refactor it to a C++ class called AWeapon. And then set the BP_PlasmaWeapon’s parent class to AWeapon without loose any data. I mean, every property that BP_PlasmaWeapon changed, or accessed, or any function it called, must now aim to the AWeapon automatically.
And, of course, if I have a BP_PlasmaWeapon placed on my levels, and my placed actor have some custom values setted on it’s properties, these data must not be lost.
Today, data, properties, functions and classes are too much tangled. Make it ease. For example, when load a level or a blueprint, make things fit by the names.
After some efforts (which usually refers to rename the old variables to some temporary name and some restarts without save some blueprints or levels), I can make it work partially: properties and functions now aims to the C++ class. But the components don’t. If I open a level where I changed some properties on the components of placed actors, these changes never passes to the C++ component (aparently, UE4 try to find a component SPECIFICALLY made with blueprints… but why?).
I don’t know if I was clear enough (english is not my primary language and talk about complex stuff like that can be difficult), but I’m sure that many people must have the same issues.