Recompiling C++ from editor doesn't update CDO after constructor changes

So, if I modify my class constructor contents and recompile in editor, those values get overridden after the constructor is done executing.

I did some debugging and there’s some copying happening from the CDO to the current class if I understand correctly. So even though the constructor runs, it still gets overridden by the CDO values.

It seems like the CDO should get reconstructed and updated after a recompile in editor, and also maybe that copying step is unnecessary if the constructor runs and initializes everything anyway.

Hey illYay-

What are you modifying in your constructor that is getting overridden? Can you give us some examples of what exactly is happening?

Hey illYay-

We’ve not heard from you in a few days. I will be marking this post as resolved for tracking purposes however if you’re still having problems with CDO’s please feel free to comment with the requested information and we will reopen this post for further investigation.

Cheers

I was changing some value initializations. I can’t remember specifically anymore, but I’m pretty sure I was changing what a UPROPERTY was being set to.

Hey illYay-

Thanks for getting back to me, however I still need additional information to test this issue if you’re able to recall anything. What values were being initialized? How was the UPROPERTY being changed? How was this affecting CDO’s in the editor? Having these answers will help narrow the search for what is causing the problem.

Hi illYay,

What version of the Editor are you seeing this behavior in? I just ran some tests using 4.7.6 built from source code, where I set a UPROPERTY value in a custom class’ constructor, then made a Blueprint of the class. I changed the value that was being set in the class constructor, then performed a hot reload from within the Editor and the new value propagated into the Blueprint, and was also reflected in a new Blueprint made from the custom class after the hot reload.