Problem still here in 2023 and with UE5.
There are a lot of tricks to solve this but sometimes none of them are working so you’re forced to create a new blueprint from your cpp class in order the changes to take effect.
Good luck if you need to change your constructor code after the very first version of your cpp class.
In my case I’ve only added the overlap handling for an UBoxComponent (the common
OnComponentBeginOverlap.AddDynamic(…)).
Impossible to refresh the existing blueprint with this addition, need to create a new one, this is a nonsense and I’m sure that I’m doing something wrong but what? Id dont’ know, I’ve tried it all [1] becasue I don’t want to create a new blueprint child class from scratch, but nothing works. Creating a new BP child class works, the new class has the overlap behaviour, but this is not an acceptable solution to me, can’t believe that there’s no other option.
[1] Things that I’ve tried so far (over 10 times each):
- Close the editor and rebuild the solution from visual studio (Development Editor).
- Delete the folders Binearies and Intermediate.
- RMB on the blueprint class > Asset Actions > Reload.
- Re-parent the blueprint class with the c++ class from the blueprint editor.
- Pledge god that if this time works I’ll assist to church next sunday (tried various gods and rites and a vast combination of them just in case god X wants me to land a tree and Y prefers goat sacrifices).