Components are not updated and get corrupted in blueprints.
I’m talking about SceneComponents and ActorCompoonents:
This occurs when:
-When you make a change in the C++ class.
-Especially when you add or remove specifiers in variables or functions. UPROPERTY(…) or UFUNCTION(…).
The component is corrupted and and it causes problems, as instances of null pointers.
The problem is detectable because the SubobjectName disappears.
The only way to fix it is to change the name of the variable.
No need to rename. Just close down the editor and recompile from the IDE. The component should work as intended. Tested it on 5.2 creating an actor component HealthComponent and later after running the editor added 2 params health and maxhealth & getHealthPercentage function, reloaded the project from the IDE and everything works as intended.
Live coding is a joke an doesn’t work 90% of the time, and probably only simple variables work with hot reloads (nothing that impacts structure) otherwise a rule of thumb is close out the project and reload.
Renaming classes strictly from c++ is a big no no in terms of unreal, it writes asset redirects for name changes so you will be breaking your project doing this if any references are made.
It’s a bit tedious to have to restart the editor every time this happens, but it is much better method compared to renaming the variables.
Anyway I think the developers should fix this. It’s such a basic thing (relatively).
They are always developing new features. (Nanite, Online Services, Fortnite Editor…). I don’t know… but I think it’s better to do just one without bugs than a hundred full of bugs.